首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XPages -在使用Dojo时显示验证消息

XPages -在使用Dojo时显示验证消息
EN

Stack Overflow用户
提问于 2013-07-22 18:00:10
回答 1查看 714关注 0票数 0

我有一个XPage,它被分成几个Dojo内容窗格。我使用客户端JavaScript来决定显示哪个Dojo内容窗格。现在,我想向XPage添加几个必需字段的验证。但是,对于客户端和服务器端验证,都会阻止保存文档,但是如果需要验证的字段位于Dojo内容窗格中,而不是当前显示的Dojo内容窗格中,则用户看不到服务器端错误消息,并且光标不会放在验证失败的字段中(客户端消息是可见的,但是光标不会放在验证失败的字段中)。有没有办法在字段验证失败时添加要执行的CSJS代码?(理想情况下,我只想使用服务器端验证)

这是一个需要验证的字段

代码语言:javascript
复制
<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内容窗格的代码

代码语言:javascript
复制
<xe:djContentPane id="Employee">  

此处是显示或隐藏Dojo内容窗格的CSJS代码

代码语言:javascript
复制
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");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-22 22:40:27

您可以做很多事情,这取决于您的代码应该有多复杂。如果您只想检查(客户端)必填字段,请添加一个onSubmitEvent并查找属性为aria-required的字段。在这些控件中,您构建了一个显示,允许用户跳转到有问题的控件--空控件。

如果您宁愿进行服务器端验证,因为您不知道要验证的所有内容,那么可以使用onload脚本(提交会刷新页面)或在部分刷新后运行的脚本来查找aria-invalid属性。然后,您可以将列出跳转的列表或表呈现到所需的控件,因为在不同的窗格上可能有多个控件

我会将errormessages控件(显示服务器端验证错误的控件)放在始终可见的顶部窗格中(如果errormessages不为空,则始终如此)。

合乎道理?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17784680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档