我有一个包含多个输入文本的注册表单,所有字段都是必需的,某些字段包含validateRegex
和验证者消息,如电子邮件的输入文本。
<h:form>
<p:outputLabel value="Login:" for="pseudo"/>
<p:inputText id="pseudo" value="#{customerMB.login}" title="Pseudo" required="true" validatorMessage="Enter a valid email" requiredMessage="Please enter your email.">
<f:validateRegex pattern="([^.@]+)(\.[^.@]+)*@([^.@]+\.)+([^.@]+)" />
</p:inputText>
<p:watermark for="pseudo" value="Enter you email address" />
</h:form>
我只需要显示验证器消息而不是必需的消息。我的意思是当我提交表单而不填写字段时,outputLabel用红色突出显示(工作正常)但是当我使用错误形式的电子邮件地址提交时,它没有显示验证器消息。
如果我使用<p:message for="pseudo">
,它也会显示所需的消息。
答案 0 :(得分:2)
我有一个项目,它有一个电子邮件验证,我在这里做了什么:
<p:inputText id="pseudo" value="#{customerMB.login}"title="Pseudo" required="true" validatorMessage="Enter a valid email" requiredMessage="">
<f:validateRegexpattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
<p:ajax event="blur" update="growl"/>
</p:inputText>
它在离开字段后立即显示验证消息。
答案 1 :(得分:1)
将一个空字符串作为validatorMessage,如下所示:
<p:inputText id="pseudo" value="#{customerMB.login}" title="Pseudo" required="true" validatorMessage="Enter a valid email" requiredMessage="">
<f:validateRegex pattern="([^.@]+)(\.[^.@]+)*@([^.@]+\.)+([^.@]+)" />
</p:inputText>