XPage SSJS validateExpression 缓存以前的值

XPage SSJS validateExpression caching previous values

我有一个简单的用户注册表,它需要检查电子邮件地址是否已经存在 - 它最初在我点击提交按钮时起作用,例如,如果我输入一个现有的邮件地址,我会收到错误消息,但如果我随后修改一个不存在的地址在通过验证之前需要再提交一两次。所以似乎某处正在进行一些缓存。

我在 SSJS 库中有一个 isExistingUser 函数,它只是查找目录中的 $Users 视图和 returns 一个布尔值。那么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>

我如何强制它在每次提交时正常工作,即清除 memory/cache 中的所有先前值?非常感谢

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