【发布时间】:2013-07-22 22:40:27
【问题描述】:
我有一个 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");
【问题讨论】:
-
如果您可以在问题中包含一些代码 sn-p,我将非常有帮助。
-
这里是需要验证的字段
<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>这里是道场内容窗格的代码<xe:djContentPane id="Employee"> -
这里是csjs代码来显示或隐藏一个dojo内容窗格
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"); -
注释确实不是放置代码的好地方。您能否编辑您的问题并将代码放入其中?
-
你为德国人工作?
标签: javascript dojo xpages xpages-extlib