0
A
回答
0
JSF2會讓你做一個表單級的驗證。現在,你將不得不湊合着用兩種:形式 提交後
- 驗證在一個Bean和填充 的FacesMessage給用戶,如果它失敗。
- 將驗證程序添加到一個字段,並在 驗證程序加載其他 字段並檢查其值。
1
只要讓required
屬性取決於其請求參數映射中其他輸入字段的存在結果。
<h:form id="form">
<h:inputText id="input1" value="#{bean.input1}" required="#{empty param['form:input2'] and empty param['form:input3']}" />
<h:inputText id="input2" value="#{bean.input2}" required="#{empty param['form:input1'] and empty param['form:input3']}" />
<h:inputText id="input3" value="#{bean.input3}" required="#{empty param['form:input1'] and empty param['form:input2']}" />
</h:form>
另外,您還可以利用組件的結合,並使用UIInput#getValue()
檢查以前的組件的價值和UIInput#getSubmittedValue()
檢查它們爲尚未對被驗證的組件(組件的順序處理它們出現在組件樹中)。這樣你就不需要對客戶端ID進行硬編碼。您只需確保綁定名稱與現有的託管bean名稱不衝突。
<h:form>
<h:inputText binding="#{input1}" required="#{empty input2.submittedValue and empty input3.submittedValue}" />
<h:inputText binding="#{input2}" required="#{empty input1.value and empty input3.submittedValue}" />
<h:inputText binding="#{input3}" required="#{empty input1.value and empty input2.value}" />
</h:form>
0
如果您不想使用必需的屬性或JavaScript,那麼有兩種方法。
其中之一是創建一個驗證器,但在我看來,這太過分了。
我只會檢查輸入在bean中是空還是空。
if ("".equals(theFieldYouWantToCheck) || theFieldYouWantToCheck == null) {
//Either throw exception or return "false" so that you can handle it
}
0
如果您使用RichFaces的,那麼你可以按照如下步驟進行驗證(見http://mkblog.exadel.com/ria/richfaces-ria/richfaces-built-in-client-functions/):
<h:form id="form">
<h:inputText id="input1" value="#{bean.input1}" />
<h:inputText id="input2" value="#{bean.input2}"
required="#{empty rich:findComponent('input1').submittedValue}"
requiredMessage="At least one of the fields input1 and input2 must be filled."/>
</h:form>
注意,表達豐富:findComponent( '輸入1')等同爲UIComponent [」輸入1' ]。原因是Seam提供了動態映射uiComponent來查找UI組件。
相關問題
- 1. 驗證至少一個字段是以dhtmlx格式填充
- 2. 至少有一個字段必須填寫,cakephp驗證
- 3. 驗證至少要填寫一個字段,重力形式
- 4. 基因敲除驗證 - 至少有一個字段有一個值,至少有一個複選框檢查
- 5. 檢查是否至少有一個輸入字段填寫jQuery
- 6. jQuery表單驗證器 - 至少一個輸入填充
- 7. 驗證當它們中的至少一個被填充
- 8. CakePHP的數據驗證:如果至少一個字段被填充和多個規則沒有驗證
- 9. PHP驗證 - 檢查是否有1個字段填充
- 10. 檢查至少一個複選框檢查jquery驗證
- 11. jquery驗證插件至少檢查一個字母和一個數字
- 12. 從3個必填字段驗證器中選擇至少一個複選框
- 13. jquery驗證(至少有一個字段有文字)
- 14. Bean驗證:列表中至少有一個元素必須填充一個字段
- 15. Asp.net必填字段驗證問題
- 16. 問題與jQuery驗證插件和檢查2的一個領域填充
- 17. 如何驗證淘汰賽js中至少有一個字段必須填寫
- 18. asp.net必填字段驗證至少有一個文本框包含文本
- 19. ZF2:允許空字段集,但驗證是否至少填寫了一個
- 20. django的內聯編輯如果至少一個字段被填充了
- 21. JQuery驗證檢查至少一個複選框
- 22. 檢查至少一個複選框驗證jQuery中
- 23. 歐芹驗證器 - 至少需要一個字段
- 24. Rails - 無法驗證至少有一個字段爲空
- 25. 檢查是否至少有一行被填充
- 26. 驗證至少有一個複選框使用jQuery驗證器進行檢查
- 27. MVC DataAnnotations - 要求填寫組中至少有一個字段
- 28. Hibernate驗證註釋 - 驗證至少有一個字段不爲空
- 29. 如何驗證以便至少需要1個字段,當第二個字段有兩個必填字段時
- 30. 檢查是否至少有一個表單字段已經充滿