我正在使用Bean Validation和Hibernate Validator。
我如何告诉Hibernate只验证之前通过验证器的不同值的某个值?
@Digits //eg: DDMMYYYY
String dateString;
//this would throw an exception if @Digits fails. How can I stop validation then?
@Future
Date getDate() {
//formatter: DDMMYYYY
return formatter.parse(dateString);
}
答案 0 :(得分:1)
您可以将约束分配给不同的组,然后定义组序列。如果您随后请求验证组序列(作为Validator#validate的一部分),则会按定义的顺序验证约束,并且验证也会在第一个错误时停止。另见http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#d0e2804。
另外,我不会在@Digit
上使用dateString
,而是@Pattern
。你似乎也注释了字段和getter。真的建议坚持一种方法。