在XPage中测试用户/系统DSN的存在

时间:2012-06-07 04:23:04

标签: javascript odbc xpages lotus-domino

在我的xpage中我有一个编辑框供用户输入ODBC数据源的名称。然后onBlur我想测试用户输入的值是否在ODBC列表中有效/存在。如果有错误/异常,我希望错误显示在xpage中的“显示错误”控件中。我不知道从哪里开始。之前从未做过这样的事情(即使在LotusScript中)。请有人开导我吗?

3 个答案:

答案 0 :(得分:3)

我不会在onBlur事件中这样做。您的用户可能想要更改其他内容,并且您的操作速度很慢。你应该做什么:

  • 有一个测试按钮
  • 将“保存”按钮变灰,直到测试成功

无论如何:看一下扩展库。它内置了RDBMS连接(使用它,不要重新发明轮子)。从那里复制代码。

答案 1 :(得分:0)

好的,显然这就是我需要的。也许我应该提高我的问题技巧。感谢那些帮助过的人。

参考here,我创建了3个字段/编辑框:'ODBC / DSN Name','username','password'。对于'ODBC / DSN Name',我放了一个xp:validateExpression并为表达式部分添加以下代码:

var odbc:string=getComponent("inputText1").getValueAsString();
var url:string="jdbc:odbc:"+odbc;
var usr:string=getComponent("inputText2").getValueAsString();
var pwd:string=getComponent("inputText3").getValueAsString();
try {
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var con:java.sql.Connection=java.sql.DriverManager.getConnection(url,usr,pwd);
    return true;
} catch (e) {
    return false;
}

不确定我是否以正确的方式使用xp:validateExpression或xpages本身,但这就是客户的要求,现在似乎正在运作。

答案 2 :(得分:-1)

最好写入需要验证的项目的onchange事件。因为我们通常会对该事件进行部分刷新吗?因此它会阻止项目输入值。

只需尝试在onchange事件中编写它。但我的观点是,我曾经在Jquery中编写非安全项的验证。因为这很容易,并且前景很好。