Когда я вхожу в режим редактирования своей таблицы, я хочу, чтобы данные проверялись во всех полях этой таблицы.
Сначала пара замечаний:
- Я использую Vaadin 7, поэтому дополнение Bean Validation, к сожалению, не будет работать.
- Я знаю, что реализация JSR-303 работает, потому что я без проблем пытался добавить BeanValidator в TextField.
Теперь у меня есть прекрасно работающая таблица, для которой я использую BeanItemContainer, чтобы хранить внутри bean-компоненты Person.
Компонент Person выглядит следующим образом:
public class Person {
@Size(min = 5, max = 50)
private String firstName;
@Size(min = 5, max = 50)
private String lastName;
@Min(0)
@Max(2000)
private int description;
... getters + setters...
}
Компоненты Person добавляются в BeanItemContainer, который, в свою очередь, устанавливается в источник данных контейнера с помощью setContainerDataSource().
BeanValidator был добавлен в таблицу следующим образом:
table.addValidator(new BeanValidator(Person.class, "firstName"));
Когда я запускаю приложение, у меня возникают две проблемы:
Когда я запускаю приложение, таблица отображается так, как предполагалось. Однако, когда я редактирую поля и устанавливаю для одного из полей firstName, скажем, "abc" - ошибка проверки не отображается, и значение принимается Как я должен заставить BeanValidator работать со всеми полями моих таблиц ?
- #P9# <блочная цитата> #P10# блочная цитата>
Пожалуйста посоветуй
Спасибо!
Person.firstName
, б) проблемные значения этого поля - person default locale   schedule 29.07.2013