Вы не можете использовать валидатор для этого. Это только для отправленных параметров запроса. Если единственной целью является отображение некоторого сообщения, когда список пуст, то просто используйте атрибут rendered
.
<rich:dataTable value="#{bean.list}" rendered="#{not empty bean.list}">
...
</rich:dataTable>
<h:outputText value="List is empty!" rendered="#{empty bean.list}" />
Обновление : таблица кажется частью формы. Лучшее, что вы можете сделать, - это добавить FacesMessage
в метод действия bean-компонента.
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
идентификатором клиента.