XPage SSJS validateExpression缓存先前的值

时间:2018-07-19 20:47:23

标签: xpages xpages-ssjs

我有一个简单的用户注册表格,该表格需要检查电子邮件地址是否已经存在-当我按下“提交”按钮时,它最初可以工作,例如,如果我输入现有的邮件地址,则会收到错误消息,但是如果我修改了该地址对于不存在的请求,在通过验证之前需要再提交一到两个。因此,似乎某处正在进行一些缓存。

我在SSJS库中有一个isExistingUser函数,该函数仅查找Directory中的$ Users视图并返回一个布尔值。那么XPage源代码如下:

<xp:validateExpression>
 <xp:this.message><![CDATA[This user already exists!]]></xp:this.message>
 <xp:this.expression><![CDATA[#{javascript:var em = getComponent("inputEM").getValue();return isExistingUser(em)}]]> 
 </xp:this.expression>
</xp:validateExpression>

如何强制此方法在每次提交时均能正常工作,即清除内存/缓存中的所有先前值?非常感谢

1 个答案:

答案 0 :(得分:0)

使用getComponent(“inputEM”).getSubmittedValue()-甚至更好:使用数据源获取inputEM的内容,例如document.getValue(“ inputEM”)