如何指定关于交叉字段验证的验证器顺序

时间:2013-12-06 18:34:52

标签: spring-mvc bean-validation hibernate-validator

我正在尝试使用两个复合字段验证bean。这两个领域以4种不同的方式相互依存。因此,我创建了4个不同的验证器(重用)并将它们作为类级别约束应用于bean。它正在工作,但验证器没有按特定顺序调用。我需要强制执行此命令,因为验证器本身彼此依赖。如果还有其他更好的方法,请告诉我。

Spring-MVC,Spring 3.2.2,Hibernate验证器4.3.0.Final。

@ValidatorClassLevel
public class BeanClass{

@ValidatorProperty1 
   String property1;
   String property2; 
}

@ValidatorProperty2
@ValidatorProp1And2
@ValidatorProp1Or2
@Target( { TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = {Property12Validator.class})
@Documented
public @interface ValidatorClassLevel{

    String message() default "";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};

}

1 个答案:

答案 0 :(得分:0)

您可以使用验证group sequences来强制执行约束的特定顺序。