GWT Validator Framework для проверки на стороне клиента в Java

Я исследовал лучшую структуру, которую я мог бы использовать для проверки данных на стороне клиента и сервера. Я знаю, что важно делать проверки на обеих сторонах.

Таким образом, я столкнулся с чем-то, называемым GWT Validation Framework, который может выполнять валидацию с обеих сторон. У меня мало JSP. Я должен проверить данные, заполненные пользователем, на стороне клиента. Но я не нашел ни одного примера, как это сделать? Может ли кто-нибудь, пожалуйста, просветить по тому же.

Спасибо

PS: Был бы признателен, если бы кто-то мог помочь в некоторых лучших методах проверки на стороне клиента (кроме сценария Java).

2 ответа

Решение

GWT имеет поддержку для компиляции javax.validation в модуль компиляции, но его будет непросто использовать без реального использования GWT. Механизм проверки основан на проверке bean-компонентов JSR-303 и поэтому должен видеть bean-компонент как на клиенте, так и на сервере - недостаточно создать html-страницу клиента, созданную jsp, вам нужно создать и загрузить модуль GWT на страницу.

В GWT вы пишете то, что выглядит как Java, а оно компилируется в JavaScript. Поддержка JSR303 также компилируется в javascript, поэтому любой проверки на стороне клиента недостаточно - см. Почему проверки на стороне клиента недостаточно? для более подробного объяснения - ваш сервер также должен запустить проверку.

Если вы еще не используете GWT, то проверка GWT не будет иметь большого смысла для вашего проекта. Если вы решите, что все это имеет смысл для вас, тогда начните использовать его - ознакомьтесь с http://www.gwtproject.org/doc/latest/DevGuideValidation.html для получения дополнительной информации и примера проекта на https://github.com/gwtproject/gwt/tree/master/samples/validation для некоторого источника.

  1. Для проверки данных на стороне клиента

Я использую Putnami Web Toolkit (PWT). Эта структура совместима с аннотациями валидации бинов JSR-303.

Вы можете найти документацию и живой пример по этому адресу: http://pwt.putnami.org/

  1. Для проверки данных на стороне сервера

Я использую эталонную реализацию Hibernate Bean Validation JSR-303 (версия 4.3.2-Final).

Пример ниже:

импорт:

import java.util.HashSet;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.Validation;
import javax.validation.ValidationException;
import javax.validation.Validator;

код:

final Set<ConstraintViolation<BeanToValidate>> violations = validator.validate(form);
        if (!violations.isEmpty()) {
            final Set<ConstraintViolation<?>> constraintViolations = new HashSet<ConstraintViolation<?>>(
                    violations);
            throw new ConstraintViolationException(constraintViolations);
        }
Другие вопросы по тегам