2017-03-16 166 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" /> 

這使預期的結果。第二個字段的內容也保存在驗證錯誤中。