xpages包含SAVE按钮.xpages还包含InternetAddres字段.当用户单击SAVE按钮时,需要首先检查names.nsf - 如果在names.nsf视图中找不到InternetAddress值,则保存成功"($ Users)" - 如果在names.nsf视图中找到InternetAddress值,则保存失败"($ Users) "
如何编写脚本来做到这一点?
这是脚本的LotusScript版本:
Set namesview = namesdb.GetView( "($Users)" )
Set namesdoc = namesview.GetDocumentByKey( Lcase(doc.CurrentInternetAddress( 0 ) ), True )
If ( namesdoc Is Nothing ) Then '-- Create New Doc
Run Code Online (Sandbox Code Playgroud)
如何继续使用xpages?
最新版本的OpenNTF Domino API将一个checkUnique()方法添加到View类.它需要两个参数,第一个是检查视图的键(例如字符串或字符串列表),第二个是当前文档.毕竟,如果您正在检查预先存在的文档,那么您不希望因为它在视图中找到此文档而失败.
因此,假设CurrentInternetAddress是单个值字段,代码将是:
function continueWithValidUser(namesDB, doc) {
var success = false;
try {
var view = namesDB.getView("($Users)");
success = view.checkUnique(doc.getItemValue("CurrentInternetAddress"),doc);
} catch (e) {
print(e.message);
}
return success;
}
Run Code Online (Sandbox Code Playgroud)
OpenNTF Domino API回收Domino对象的所有句柄,因此不需要recycle()调用.