Проверьте richfaces: dataTable против данных - PullRequest
0 голосов
/ 24 марта 2011

Я хотел бы проверить мой компонент richfaces: datatable с пустым. Другими словами, у меня есть <rich:dataTable value="#{bean.list}" ...>, и в списке должен быть хотя бы один элемент. Есть ли какое-то хорошее решение для такого рода валидации.

С уважением, A

1 Ответ

1 голос
/ 24 марта 2011

Вы не можете использовать валидатор для этого. Это только для отправленных параметров запроса. Если единственной целью является отображение некоторого сообщения, когда список пуст, то просто используйте атрибут 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 идентификатором клиента.

...