使用primefaces密码标签,我想使用show case中显示的匹配,但是使用on blur验证,我使用以下代码:
<h:form id="formulaire">
<p:growl id="growl" showDetail="true" autoUpdate="true" />
...
<p:password id="pwd1" value="#{registrationBean.user.password}"
size="47" label="Password" required="true"
placeholder="Password*" >
<f:validateLength minimum="6" />
<p:ajax event="blur"/>
</p:password>
<br />
<p:password id="pwd2" value="#{registrationBean.user.password}"
size="47" label="Verification" required="true"
placeholder="Verification*" match="pwd1">
<p:ajax event="blur"/>
</p:password>
<br/>
<p:commandButton action="#{registrationBean.register}" value="register"/>
</h:form>
我在验证时使用匹配,以避免显示错误消息 在尝试重现它之前。 问题是growl总是显示错误消息。 即使我把匹配放在第一个字段上,咆哮错误仍然显示出来。 谢谢你的帮助。
编辑:
我设法得到的最佳解决方案如下:
<p:password id="pwd1" value="#{registrationBean.password}"
size="47" label="Password" required="true"
placeholder="Password*" match="pwd2">
<f:validateLength minimum="6" />
</p:password>
<br />
<p:password id="pwd2" value="#{registrationBean.password}"
size="47" label="Verification" required="true"
placeholder="Verification*" >
<p:ajax process="pwd1 pwd2" event="blur"/>
</p:password>
退回是在输入密码(长度...)后没有ajax验证,只有在输入验证后才会执行此操作。
(仍在寻找更好的解决方案)