我想自动@Valid
对我的所有属性施加约束。
例子:
public class Adult extends MyBeanValidationAbstractClass{
@Min(18)
public Integer age;
@NotBlank
public String name;
public Dog dog;
public Cat cat;
}
我希望验证器认为所有属性都有@Valid
注释。
怎样才能做到这一点?
我想自动@Valid
对我的所有属性施加约束。
例子:
public class Adult extends MyBeanValidationAbstractClass{
@Min(18)
public Integer age;
@NotBlank
public String name;
public Dog dog;
public Cat cat;
}
我希望验证器认为所有属性都有@Valid
注释。
怎样才能做到这一点?
因此,在您的示例中,您希望使用 @Valid 注释 Dog 和 cat。我猜 Integer 和 String 不应该受到影响?我不认为你可以自动化这个,除了你应该知道,你的属性有哪些要求?
--- 编辑:只是重新阅读......你不写注释,你想控制验证器。
您可以为您的类型编写自定义约束注解
@ValidAttributes
public class MyClass {
...
}
然后对该注释使用custome Validator。然后您可以使用反射来迭代所有属性并验证它们。
诚实的答案是:bean 验证没有遵循配置的约定——你必须把 @Valid 放在所有地方。恕我直言 bean 验证有一个基本的设计缺陷。
顺便说一句:对于那些不喜欢样板代码并想采用非官方方式的人,请看这里: https ://mmm.github.io/maven/apidocs/net/sf/mmm/util/bean/api/豆.html