gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:31:04 24 4
gpt4 key购买 nike

我有一个 XPage,它分为几个 Dojo 内容 Pane 。我使用客户端 JavaScript 来决定显示哪个 Dojo 内容 Pane 。我现在想要向 XPage 添加几个必填字段的验证。但是,对于客户端和服务器端验证,都会阻止保存文档,但如果需要验证的字段位于当前显示的 Dojo 内容 Pane 之外的 Dojo 内容 Pane 中,则用户不会看到服务器端错误消息并且光标未放置在验证失败的字段中(客户端消息可见,但光标未放置在验证失败的字段中)。有什么方法可以添加在字段验证失败时执行的 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 内容 Pane 的代码

<xe:djContentPane id="Employee">  

这里是用于显示或隐藏 Dojo 内容 Pane 的 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");

最佳答案

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

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

我会将错误消息控件(显示服务器端验证错误的控件)放在始终可见的顶部 Pane 中(始终如:如果错误消息不为空)。

有道理吗?

关于javascript - XPages - 使用 Dojo 时显示验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17784680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com