2011-03-24 49 views
0

我想驗證我的richfaces:datatable組件是否爲空。 換句話說,我有<rich:dataTable value="#{bean.list}" ...>和列表必須至少有一個元素。 這種驗證有一些很好的溶劑嗎?驗證richfaces:dataTable針對無數據

問候, 一個

回答

1

不能使用驗證這一點。它僅用於提交的請求參數。如果唯一的目的是在列表爲空時顯示一些消息,則只需使用rendered屬性。

<rich:dataTable value="#{bean.list}" rendered="#{not empty bean.list}"> 
    ... 
</rich:dataTable> 
<h:outputText value="List is empty!" rendered="#{empty bean.list}" /> 

更新:表似乎是一種形式的一部分。最好你可以做的是在你的bean的action方法中自己添加一個FacesMessage

public String submit() { 
    if (list.isEmpty()) { 
     FacesContext.getCurrentInstance().addMessage(null, 
      new FacesMessage("Please add at least one item")); 
     return null; 
    } 

    // ... 
} 

<h:messages globalOnly="true" /> 

其示出了僅與null客戶端ID的消息。

+0

不幸的是我還要阻止進一步的表格處理,所以顯示消息沒有解決的事情:( – androdevo 2011-03-24 21:44:36

+0

呵呵,表格是表格的一部分嗎?查看更新後的答案。 – BalusC 2011-03-24 21:47:27

+0

很好,但這需要執行代碼每個列表如果我想在jsf頁面上添加一些大小的驗證怎麼辦我的頁面流中有很多數據表,其中一些需要至少一個元素它是否真的是唯一的解決方案,改變這個要求? – androdevo 2011-03-25 19:39:07