2017-03-16 156 views
1

我有一些很难理解这个PrimeFaces展示:PrimeFaces密码验证

<h:panelGrid columns="2" id="matchGrid" cellpadding="5">     
    <h:outputLabel for="pwd1" value="Password 1: *" /> 
    <p:password id="pwd1" value="#{passwordView.password5}" match="pwd2" label="Password 1" required="true" /> 

    <h:outputLabel for="pwd2" value="Password 2: *" /> 
    <p:password id="pwd2" value="#{passwordView.password5}" label="Password 2" required="true" /> 
</h:panelGrid> 

特别是,我不明白,为什么值都输入字段的结合指向同一个属性password5

如果我按照这个例子,但增加了一些验证密码强度

@StrongPassword 
private String password5; 

我得到这个约束条件(两个字段)重复验证消息。这不是预期的行为,我期望

  • 第一输入字段的内容要验证密码强度和
  • 第二输入字段的内容进行验证与内容平等第一场

如何做到这一点?

+0

我需要尝试,它可能会错字。如果我们为密码匹配保留不同的属性,它会起作用吗? –

回答

0

由于似乎没有成为一个需要记录的视图bean的第二输入,我没有添加其他财产,并只是删除了值绑定:

<p:password id="pwd2" label="Password 2" required="true" /> 

这使预期的结果。第二个字段的内容也保存在验证错误中。