2013-06-18 54 views
1

我在想,如果一個人可以訪問通過UIInput的結合通過Bean驗證分配的驗證錯誤消息。顯示@NotNull消息在號碼:提示

例如,我有以下特性:

@NotNull(message = "{username_required}") 
private String username; 

當我打印使用小時錯誤:消息,我拿到打印出相應的消息,所以我知道Bean驗證工作正常。我想打印出來的消息,而無需H:信息標籤,直接提供價值的工具提示,如:

<p:tooltip for="usernameErrorImage" rendered="#{!usernameInputBinding.valid}" 
    value="#{!usernameInputBinding.requiredMessage}"/> 

的「渲染」屬性按預期工作,工具提示然而值爲「真',這不是我的信息。我也試過'convertedMessage'和'requiredMessage',但他們都返回字符串'true'。把H:消息提示標籤打印出消息裏面,但是我想知道如果我可以通過綁定直接訪問驗證消息。

+0

你把一個布爾否定條件在那裏,在''#和你」不知道爲什麼它返回「真」?爲了不使它成爲一個布爾否定,你是不是爲了去除'!'而發生了?在任何情況下,我不知道你問什麼,但它聽起來就好像你希望這個bean valiation消息是通過'requiredMessage'屬性可用。這不是真的。它只會返回'requiredMessage'屬性您已明確設定自己作爲''只有結合'=需要「真」'工作。 – BalusC

+0

@BalusC Ty for response Balus。我不確定感歎號如何滑入,這有點晚了。是的,我想以某種方式訪問​​bean驗證消息。 H:消息必須從某處讀取,我希望可以通過綁定訪問該值。是這樣嗎? – hoodieman

回答

0

只要您有ValidationMessages.properties其中包含username_required條目,只需使用<f:loadBundle>通常的方式將其作爲JSF視圖中的資源包加載。

<f:loadBundle basename="ValidationMessages" var="validationMessages" /> 
... 
<p:tooltip ... value="#{validationMessages['username_required']}"/> 

拼搶組件的requiredMessage屬性在你最初的嘗試肯定是不行的,因爲它只返回手動definied requiredMessage屬性。

0

可以嵌套提示裏面的消息。 這Primefaces爲我工作4

豆:

@NotNull(message = "{username_required}") 
private String username; 

XHTML:{!FOO}

<p:tooltip for="usernameErrorImage"> 
    <p:message for="usernameErrorImage" /> 
</p:tooltip>