我是 javascript 和 xpages 的新手。我正在将旧的笔记应用程序升级到 xpages。在我的 xpage 中,我有一个字段、一个保存按钮和一个错误消息控件。该字段用于保存用户输入以供以后使用的 nsf 路径/名称的值(例如://SAS/address.nsf)。如何验证该路径/数据库是否存在?以前的lotusscript是这样的(它使用2个字段,一个获取服务器路径,另一个获取db路径。但是对于当前的xpage,要求只使用一个字段):
svr$= source.FieldGetText("ServerPath")
dbsvr$= source.FieldGetText("DBPath")
Dim db1 As New NotesDatabase(svr$ , dbsvr$)
If Not db1.IsOpen Then
Messagebox "Cannot find the database."
Call source.GotoField("DBPath")
continue = False
Exit Sub
End If
在 xpage 的字段中,我添加了一个 validateExpression 验证器。在表达式属性中,我计算以下 SSJS:
var dbdir:NotesDbDirectory = session.getDbDirectory(null);
var db:NotesDatabase = dbdir.openDatabase(document1.getItemValue("dbpath"));
return db.isOpen();
在验证器的消息属性中,我输入了“找不到数据库”。
我不断收到的错误是:
- 表达式无效。
- 表达式未返回布尔值。
有任何解决这个问题的方法吗?是验证器的错误使用吗?我已经在其他服务器上使用本地数据库和数据库进行了测试。似乎没有一个工作。我尝试过的所有这些数据库我都有权访问它们。