是否可以对带注释的字段进行批量验证?
例如,我们有一个班级
class SomeContainer {
@Valid
List<InnerClass> innerClass;
}
class InnerClass {
@CustomValidator
String validated;
@Valid
NestedClass nestedClass;
}
class NestedClass {
@CustomValidator
String validateToo;
}
当我们验证SomeContainer时。验证器使用@CustomValidator收集所有字段并进行一些批处理(聚合验证),如果出现问题,则整个SomeContainer对象无效。
答案 0 :(得分:1)
你应该尝试一下:)
这是级联验证的工作原理。请参阅我们的文档:https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-object-graph-validation
对象图的验证是递归的,即如果标记为级联验证的引用指向一个本身具有用@Valid注释的属性的对象,则这些引用也将由验证引擎跟进。验证引擎将确保在级联验证期间不会发生无限循环,例如,如果两个对象彼此保持引用。