【发布时间】:2014-11-30 06:14:22
【问题描述】:
我想一步一步验证,也就是说,如果一个约束失效,下一个将不被检查,我在模型中定义了这样的约束:
@NotEmpty
@Size(min = 4, max = 40)
private String password;
@NotEmpty
@Email
private String email;
对于两个属性,验证结果不同,如果密码为空,则错误打印为:
Password cant be empty
Password must be between 4 and 40 characters
但对于电子邮件,错误打印是:
Email cant be empty
对于电子邮件,结果是我想要的,但我不知道@Email 约束和其他约束有什么区别,如果在休眠内部代码中有一些针对@Email 约束的特殊处理程序?
我想一步一步验证,但我没有找到完美的方法,@GroupSequence 也不是一个好的方案,我发现@Email 有这个功能,但我不知道为什么@Email表现得如此特别。
【问题讨论】:
-
实际上这两个验证也都用于电子邮件。当您查看
EmailValidator源代码时,它会将空或空字符串视为有效... -
哦,Bohuslav,我明白了,我知道@Email 约束的原因了,非常感谢!
标签: spring hibernate spring-mvc hibernate-validator