更改f:validateRegex的默认消息

use*_*755 3 validation jsf message



我有电子邮件输入:

<h:inputText value="#{registrationBean.email}" id="email" label="#{msgs.email}">
                        <f:validateLength minimum="5" maximum="50" />
                        <f:validateRegex
                                pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
                    </h:inputText>
                    <h:message for="email"/>
Run Code Online (Sandbox Code Playgroud)

那么,当validateRegex不匹配时,我如何更改消息?现在的消息是:

Regex pattern of '^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$' not matched
Run Code Online (Sandbox Code Playgroud)

但我想要"不正确的电子邮件......"
谢谢.

Cod*_*eak 21

您可以使用validatorMessageinputText 的属性.在您的情况下,您可以使用此:

<h:inputText value="#{registrationBean.email}" id="email" label="#{msgs.email}" validatorMessage="Incorrect e-mail…">
    <f:validateLength minimum="5" maximum="50" />
    <f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
</h:inputText>
<h:message for="email"/>
Run Code Online (Sandbox Code Playgroud)