Весенняя валидация Аннотации Заказать - PullRequest
4 голосов
/ 19 июля 2010

Я хочу спросить, можно ли явно установить порядок проверки в Spring.Я имею в виду, у меня есть этот объект команды:

public class UserData {
 @NotBlank
 private String newPassword;

 @NotBlank
 private String confirmPassword;

 @Email(applyIf="email is not blank")
 @NotBlank
 private String email;

 @NotBlank
 private String firstName = "";

 private String middleName = "";

 @NotBlank
 private String lastName = "";

        // getters/setters
}

, и я отображаю свои сообщения об ошибках в верхней части страницы следующим образом:

<spring:hasBindErrors name="${userData}">
   <ul class="errors">
      <c:forEach items="${errors.allErrors}" var="error">
       <li><spring:message message="${error}"/></li>
   </c:forEach>
  </ul>
</spring:hasBindErrors>

Проблема не в том, что мои сообщения об ошибкахотображаются в следующем порядке:

* Fill you last name.
* Fill you password.
* Fill your emailaddress.
* Fill you password again.
* Select your gender.
* Fill your first name.

Это не случайно, потому что этот порядок сохраняется каждый раз.Это не алфавитный, или любой другой порядок ... Я действительно застрял.Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 19 июля 2010

SpringModules - мертвый проект, он больше не поддерживается.Если вам нужна поддержка валидации JSR-303 в Spring, я предлагаю использовать эталонную реализацию, Hibernate Validator и подключить его так, как это .

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

2 голосов
/ 19 октября 2010

Я обнаружил, что использование @GroupSequence работает, хотя и не похоже на правильное решение.

См. http://www.jroller.com/eyallupu/entry/jsr_303_beans_validation_using для быстрого учебника.

...