3
我想用AJAX驗證所有輸入字段。JSF和Ajax驗證 - 如何更新所有消息的消息面板?
例如,有3個輸入欄。其中兩個需要最少3個字符的長度,另一個通過簡單的正則表達式進行驗證。對於<f:ajax>
,我設置了keyup事件以快速查看即將到來的ajax驗證。一個完整的例子可能是這樣的:
<h:form>
<h:messages id="messages" />
<h:inputText id="text1" value="#{bean.text1}">
<f:validateLength minimum="3" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
<h:inputText id="text2" value="#{bean.text2}">
<f:validateLength minimum="3" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
<h:inputText id="text3" value="#{bean.text3}">
<f:validateRegex pattern="[A-Z][a-zA-Z]*" />
<f:ajax execute="@this" event="keyup" render="messages" />
</h:inputText>
</h:form>
一旦我離開輸入第一個輸入欄的錯誤並跳轉到第2場和類型無效的東西在那裏,從第一個無效的字段信息消失,因爲消息被重新渲染!一旦我開始在第一個輸入字段中輸入內容,將執行設置爲@form將導致所有字段被驗證。
所以我的問題是: 如何顯示與AJAX的所有驗證錯誤,而不是從最後一個無效字段的最後一條消息?
P.S。:林在WebSphere
thx爲快速回答,我標記爲正確的。我將嘗試將建議的功能作爲組合包裝。挑戰將是「收集」並對每個(輸入)組件的ID進行分組,並將它們鏈接到頁面頂部的消息組中。對此有何建議/解決方案?其他人如何做這樣的事情? – jonnie119 2011-05-03 04:48:34