我想验证我的richfaces:数据表组件对空。
换句话说,我有<rich:dataTable value="#{bean.list}" ...>
,列表必须至少有一个元素。
这种验证是否有一些很好的解决方案。
此致 甲
答案 0 :(得分: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的动作方法中自己添加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的邮件。