我想找到一些在javax验证中制作or
的解决方案。
像这样:
@Null
@Or
@MyCustomValidation
private MyObject myObject;
或者类似的东西。因此,基本上,仅当字段不为null时,我才想调用MyCustomValidation
。否则,它也应该有效。
如果myObject为null,我当然可以在MyCustomValidation
中添加其他逻辑以返回true,但是我应该在许多看起来不太理想的验证器中添加此逻辑。
答案 0 :(得分:1)
在开发自定义验证器时,确实建议让验证器返回null值。
除了@NotEmpty
有点特殊外,Hibernate Validator提供的所有验证器都遵循此规则。
当您想要一个非null值时,它可以让您编写是否带有@NotNull
约束。
我认为这个额外的逻辑不会成为问题,这很简单。如果是这样,您仍然可以有一个抽象的父类。