gpt4 book ai didi

regex - JSF 2.0 validateRegex 带有自己的验证器消息

转载 作者:行者123 更新时间:2023-12-04 16:55:27 26 4
gpt4 key购买 nike

我有一个类似的代码:

<h:inputText id="email" value="#{managePasswordBean.forgotPasswordEmail}"
validatorMessage="#{validate['constraints.email.notValidMessage']}"
requiredMessage="#{validate['constraints.email.emptyMessage']}"
validator="#{managePasswordBean.validateForgotPasswordEmail}"
required="true">
<f:validateRegex pattern="^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$" />
</h:inputText>

支持 bean 中的验证器生成了自己的验证消息。但它被 inputText 标签的 validatorMessage 覆盖。

我的问题是:如何为 validateRegex 标签定义自定义验证器消息?我不想删除 validatorMessage 原因,然后 JSF 显示自己的错误消息,其中包含正则表达式模式等等 -> 我觉得它不是很漂亮。

谢谢您的帮助 :)

最佳答案

您不能定义单独的 validatorMessage对于每个单独的验证器。你能做的最好的事情就是在你的自定义验证器中进行正则表达式验证,这样你就可以删除 validatorMessage .

更新 :从 1.3 版开始, <o:validator> JSF 实用程序库的组件 OmniFaces允许您在每个验证器的基础上设置验证器消息。然后可以按如下方式解决您的特定情况:

<h:inputText id="email" value="#{managePasswordBean.forgotPasswordEmail}"
required="true" requiredMessage="#{validate['constraints.email.emptyMessage']}">
<o:validator binding="#{managePasswordBean.validateForgotPasswordEmail}" message="#{validate['constraints.email.notValidMessage']}" />
<o:validator validatorId="javax.faces.RegularExpression" pattern="^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$" message="Your new custom message here" />
</h:inputText>

无关 解决具体问题:如今,只要您仍然根据拉丁字符验证电子邮件地址,您就还没有准备好统治世界。另见 Email validation using regular expression in JSF 2 / PrimeFaces .

关于regex - JSF 2.0 validateRegex 带有自己的验证器消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7415157/

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