我有一个 XPage,它分为几个 Dojo 内容窗格。我使用客户端 JavaScript 来决定显示哪个 Dojo 内容窗格。我现在想为 XPage 添加几个必填字段的验证。但是,对于客户端和服务器端验证,文档都无法保存,但如果需要验证的字段位于当前显示的 Dojo 内容窗格之外的 Dojo 内容窗格中,则用户不会看到服务器端错误消息并且光标未放置在验证失败的字段中(客户端消息可见,但光标未放置在验证失败的字段中)。当字段验证失败时,有什么方法可以添加要执行的 CSJS 代码?(理想情况下,我只想使用服务器端验证)
这是一个需要验证的字段
<xp:inputText id="FirstName" value="#{document1.FirstName}" required="true">
<xp:this.validators>
<xp:validateRequired>
<xp:this.message><![CDATA["REQUIRED"]]></xp:this.message>
</xp:validateRequired>
<xp:validateLength minimum="5" maximum="10">
<xp:this.message><![CDATA["VALIDATE"]]></xp:this.message>
</xp:validateLength>
</xp:this.validators>
</xp:inputText>
这里是 Dojo 内容窗格的代码
<xe:djContentPane id="Employee">
此处为显示或隐藏 Dojo 内容窗格的 CSJS 代码
var Allgemein = dojo.byId("#{id:Allgemein}");
if (sectionDisplay == "Allgemein") {
dojo.style(Allgemein, "display", "block");
} else {
dojo.style(Allgemein, "display", "none");
}
var sectionDisplay = dojo.cookie("sectionDisplay");