级联批量验证

时间:2017-03-28 17:10:55

标签: hibernate-validator

是否可以对带注释的字段进行批量验证?

例如,我们有一个班级

class SomeContainer {

@Valid
List<InnerClass> innerClass;
}

class InnerClass {

@CustomValidator
String validated;

@Valid
NestedClass nestedClass;

}

class NestedClass {

@CustomValidator
String validateToo;
}

当我们验证SomeContainer时。验证器使用@CustomValidator收集所有字段并进行一些批处理(聚合验证),如果出现问题,则整个SomeContainer对象无效。

1 个答案:

答案 0 :(得分:1)

你应该尝试一下:)

这是级联验证的工作原理。请参阅我们的文档:https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-object-graph-validation

  

对象图的验证是递归的,即如果标记为级联验证的引用指向一个本身具有用@Valid注释的属性的对象,则这些引用也将由验证引擎跟进。验证引擎将确保在级联验证期间不会发生无限循环,例如,如果两个对象彼此保持引用。