Skip navigation

Este erro foi identificado na versão 3-RC2 do Primefaces. O problema ocorre quando a propriedade match do componente password é utilizada para confirmar a senha, comparando o valor dos dois campos de texto, como no seguinte exemplo:

 

<h:outputText value="Informe sua nova senha:" />
 <p:password id="pw1" value="#{alterarSenhaController.senhaNova}" required="true" label="nova senha"/>
 <h:outputText value="Confirme sua nova senha:" />
 <p:password id="pw2" value="#{alterarSenhaController.repeticaoNovaSenha}" feedback="false" required="true" label="repetição da senha" match="pw1"/>

 

No caso acima a propriedade match no segundo password (pw2) referencia o primeiro (pw1). Quando utilizado, entretanto, ocorre erro de validação mesmo quando o valor de ambos são iguais.

 

Solução

Para solucionar o problema é necessário fazer com que o primeiro password (pw1) referencie o segundo (pw2), como demonstrado abaixo.

 

<h:outputText value="Informe sua nova senha:" />
 <p:password id="pw1" value="#{alterarSenhaController.senhaNova}" required="true" label="nova senha" match="pw2"/>
 <h:outputText value="Confirme sua nova senha:" />
 <p:password id="pw2" value="#{alterarSenhaController.repeticaoNovaSenha}" feedback="false" required="true" label="repetição da senha" />

 

Desse modo a validação ocorrerá normalmente e só será disparada quando os valores forem divergentes.