2011-04-26 41 views
7

當組件失去使用ajax焦點而不是等待手動提交表單時,如何觸發輸入組件上的驗證?如果用戶在輸入組件改變值,你可以用你的valueChangeListener驗證它焦點丟失後使用ajax觸發JSF驗證

<h:inputText value="#{bean.value}" valueChangeListener="#{bean.validateValue}"> 
    <f:ajax event="blur" render="valueError"/> 
</h:inputText> 

<h:outputText id="valueError" value="#{bean.valueErrorMessage}" style="color: red;" /> 

回答

3

試試這個代碼。如果用戶然後移動到另一個輸入組件,則將呈現ouputText組件。如果驗證失敗,您可以顯示一條消息。

+3

在這個答案的事件名稱然而錯誤的。它不應該以'on'作爲前綴。另外,您通常喜歡使用''來顯示驗證消息。 – BalusC 2011-04-26 12:40:32

+0

我試圖糾正它,但stackoverflow不允許只改變一個職位中的兩個字母。他們需要5個,所以我像這樣離開 – 2011-04-27 17:23:31

+1

第三件事情是,一個'valueChangeListener'不需要進行驗證。使用正常的驗證器。 – BalusC 2011-04-27 17:27:01