我是PrimeFaces的初学者,我不会保存包含输入密码的表单,但是当我尝试保存长度为2或3个字符的密码时,没有任何事情发生。按钮很可能无法正常工作。这是我的例子
<h:form id="mainForm">
<p:messages autoUpdate="true"/>
<p:panel header="Paramétrage des adresses">
<h:panelGrid id="createGrid"
columns="2"
cellspacing="100"
cellpadding="25">
<h:outputLabel for="pwd1" value="Mot de passe : *"/>
<p:password id="pwd1" value="#{adress.currentAdress.motDePasse}"
match="pwd2"
label="Mot de passe"
required="true"
maxlength="100">
<p:message for="pwd1"/>
</p:password>
<h:outputLabel for="pwd2" value="Confirmation Mot de passe : *"/>
<p:password id="pwd2"
value="#{adress.currentAdress.motDePasse}"
label="confirmation" required="true"/>
</h:panelGrid>
<p:commandButton id="saveAdress"
type="button" value="valider"
action="#{adress.save}"
update="createGrid dataTable"/>
</p:panel>
</h:form>
答案 0 :(得分:7)
您可以使用<f:validateLength>
代码验证UIInput
的长度,<p:password>
就像这样
<p:password id="pwd1" value="#{adress.currentAdress.motDePasse}" match="pwd2"
label="Mot de passe" required="true" maxlength="100">
<f:validateLength minimum="2" ></f:validateLength>
</p:password>
<p:message for="pwd1"/>
每当您提交少于2个字符的密码时,都会触发验证错误。有关其他信息,请查看here。