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

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

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

Спасибо

P.S. Было бы признательно, если бы кто-нибудь помог с лучшими методами проверки на стороне клиента (кроме java-скрипта).


person Anuj Balan    schedule 13.02.2012    source источник


Ответы (2)


GWT поддерживает компиляцию javax.validation в модуль компиляции, но его будет непросто использовать без фактического использования GWT. Механизм проверки основан на проверке компонентов JSR-303, поэтому необходимо видеть компонент как на клиенте, так и на сервере — клиентской страницы 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. для некоторого источника.

person Colin Alworth    schedule 13.02.2012
comment
Понятно. Таким образом, эта структура проверки эффективна при использовании с компонентами GWT. Можете ли вы предложить какие-либо другие хорошие и новейшие технологии проверки на стороне клиента, кроме проверки JS и Struts? - person Anuj Balan; 14.02.2012
comment
Сторона клиента? Как он может работать на клиенте без использования JS? Даже struts или тому подобное будут использовать некоторый серверный код для записи JS на страницу для ее проверки - и я предполагаю, что у вас есть готовый JSP, к которому вы хотите добавить эту проверку, а не начинать с нового фреймворка (калитка, гобелен , play, но есть и множество других), которые поддерживают проверку. - person Colin Alworth; 14.02.2012
comment
КАК вы правильно догадались. У меня есть JSP, и я хотел бы добавить проверки на стороне клиента. Использование JS для этого является традиционным способом проверки проверки на стороне клиента. Таким образом, я проверял, есть ли более эффективный и современный способ сделать это. - person Anuj Balan; 14.02.2012

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

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

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

  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);
        }
person Stéphane B.    schedule 18.03.2016