2010-03-31 50 views
1

我有兩個JSF <h:selectOneMenu>組件。一個叫類別另一個是子類別。 如果我選擇類別,那麼子類別會動態變化。當我點擊搜索命令按鈕時,它顯示一個帶有布爾值複選框的<h:dataTable>如何在JSF中驗證數據表

問題是:如果沒有選擇複選框,那麼我需要顯示錯誤消息,如「請選擇任何」,如果在按下搜索後數據表中沒有數據,則必須出現相同的錯誤消息按鈕。請提出解決方案。

回答

4

如果沒有選中複選框,那麼我需要顯示錯誤消息,如「請選擇任何」。

這取決於你如何分組複選框和收集選中的項目。我敢打賭,你正在使用Map<RowIdType, Boolean>來收集它們。在這種情況下,您只需要計算bean操作方法中已檢查項的數量。如果這等於0,然後添加一個FacesMessage類似如下:

facesContext.addMessage(null, new FacesMessage("Please select any")); 

,並在<h:messages />顯示它通常的方式。

如果按下搜索按鈕後數據表中沒有數據,則會出現相同的錯誤消息。

你可以這樣做。在bean操作方法中,檢查返回的行數,如果等於0,則添加FacesMessage

+0

感謝您的回覆 – johnbritto 2010-04-01 05:29:56

+0

我討厭0 upvotes接受的答案;) – Bozho 2010-04-01 09:31:55

+0

我也是Bozho。 – BalusC 2010-04-01 11:06:02