验证richfaces:dataTable,无数据

时间:2011-03-24 18:13:19

标签: validation jsf datatable richfaces

我想验证我的richfaces:数据表组件对空。 换句话说,我有<rich:dataTable value="#{bean.list}" ...>,列表必须至少有一个元素。 这种验证是否有一些很好的解决方案。

此致 甲

1 个答案:

答案 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的邮件。