Поскольку вы не получили хорошего ответа, я хочу поделиться своим мнением с платформами валидации, которые я видел для GWT.
Особенность фреймворков в том, что они часто пытаются выполнить две вещи:
- Они хотят быть очень общими.
- Они хотят быть ненавязчивыми к вашему коду.
Иногда это удается, но в большинстве случаев это не так. Написание такой платформы имеет свою стоимость, и вы, как пользователь этой платформы, будете платить за нее.
Проверка должна, на мой взгляд, быть простой. Вот пример того, как я решил проверку с использованием некоторого кода, который я собрал:
MasterValidator masterValidator = new MasterValidator();
masterValidator.mandatory(messages.required_field(), lastnameBox, firstnameBox, genderBox);
if (birthdateRequired) {
masterValidator.mandatory(messages.required_field(), birthdateBox);
}
masterValidator.date(messages.date_format(), birthdateBox);
masterValidator.email(messages.invalid_email(), emailBox);
return masterValidator.validateStatus();
Здесь каждое из полей ввода наследуется от моего TextField (или некоторых других типов ввода), и эти поля имеют метку ошибки, которая будет установлена, если проверка не удалась.
Я не говорю, что это идеально, но это сделает работу просто. Если вы хотите воодушевиться / взять часть моего кода для этого, пожалуйста, сделайте. Код используется в лицензированном проекте GPL2, размещенном в Google Code:
http://code.google.com/p/accountclient/source/browse/#svn/trunk/RegnskapClient/src/no/knubo/accounting/client/validation
Он также использует client / ui.