I want to ask is it possible to set explicitly the validation order in Spring. I mean, I have this command object:
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
}
and I display my error messages on top of the page like this:
<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>
The problem is no matter what my error messages are displayed in the following order:
* Fill you last name. * Fill you password. * Fill your emailaddress. * Fill you password again. * Select your gender. * Fill your first name.
It is not random, because this order is preserved every time. It is not alphabetical, or any other order... I am really stuck. Can someone help please?
SpringModules is a dead project, it's no longer supported. If you need JSR-303 validation support in Spring, I suggest using the reference implementation, Hibernate Validator , and wire it up like so .
Having said that, this may not fix your problem, but at least you'll be using up-to-date libraries, likely making it easier to fix.
I've found that using @GroupSequence works, though it doesn't feel like a proper solution.
See http://www.jroller.com/eyallupu/entry/jsr_303_beans_validation_using for a quick tutorial.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.