如何在Javax约束验证中进行OR?

时间:2018-07-23 22:08:39

标签: java hibernate validation hibernate-validator

我想找到一些在javax验证中制作or的解决方案。 像这样:

@Null
@Or
@MyCustomValidation
private MyObject myObject;

或者类似的东西。因此,基本上,仅当字段不为null时,我才想调用MyCustomValidation。否则,它也应该有效。 如果myObject为null,我当然可以在MyCustomValidation中添加其他逻辑以返回true,但是我应该在许多看起来不太理想的验证器中添加此逻辑。

1 个答案:

答案 0 :(得分:1)

在开发自定义验证器时,确实建议让验证器返回null值。

除了@NotEmpty有点特殊外,Hibernate Validator提供的所有验证器都遵循此规则。

当您想要一个非null值时,它可以让您编写是否带有@NotNull约束。

我认为这个额外的逻辑不会成为问题,这很简单。如果是这样,您仍然可以有一个抽象的父类。