Я использую валидацию форм на основе аннотаций Springs (в основном @NotBlank и @Length), которая отлично работает. Я пропускание в компоненте формы методы проверки следующим образом:Проверка достоверности на основе весны на основе аннотаций
validate(formBean, result);
У меня есть несколько аннотаций, присоединенных к различным полям формы, которые тестирующие, как ожидаются, кроме одного.
Один из моих полей в форме боба объявлен следующим образом:
private EntriesBean entries;
Это поле, очевидно, относится к бина, который имеет обычные методы получения и установки. Пара полей в этом компоненте также содержит прикрепленные аннотации проверки, но они не проверяются как часть метода метода validate(), как это делают другие поля. Связано ли это с этим компонентом, связанным с другим компонентом, а не непосредственно с методом, который вызывает validate()?
Благодаря
Как это сравнить с методом pushNestedPath? Является ли одна из них «лучшей практикой», чем другая? – csilk
Я не уверен, как Spring проверяет эти методы, метод, который я вам дал, - использовать с HibernateValidator, я не уверен, будет ли он работать с вашим. Я думаю, что с тех пор, как @Valid является стандартной аннотацией из пакета javax.validation. Вы можете взглянуть на http://docs.jboss.org/hibernate/validator/4.0.1/reference/en/html/validator-usingvalidator.html – gcesarmza
Я пробовал использовать @Valid из библиотек javax, но это не помогло инициировать аннотации проверки на вложенный компонент. Я придерживался своего нынешнего способа сделать это, поскольку я не могу найти пример того, как он работает каким-либо другим способом с помощью Spring. – csilk