【发布时间】:2010-07-19 08:40:57
【问题描述】:
我想问是否可以在 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.
这不是随机的,因为这个顺序每次都会保留。它不是字母顺序或任何其他顺序......我真的被卡住了。有人可以帮忙吗?
【问题讨论】:
-
这可能不是 Spring 负责的,它可能是底层验证实现,例如休眠验证器。
-
我们正在使用版本。 java.net 上托管的 Spring 基于注解的 bean 验证框架的 0.93
-
那是哪一个? java.net 是一个很大的地方...
-
springmodules.dev.java.net 具体的验证模块。
标签: java spring validation annotations