首页 > 解决方案 > 如何在 javax 约束验证中进行 OR?

问题描述

我想找到一些用于进行orjavax 验证的解决方案。就像是:

@Null
@Or
@MyCustomValidation
private MyObject myObject;

或者类似的东西。所以,基本上,我MyCustomValidation只想在字段不为空时调用。否则,它也应该是有效的。如果 myObject 为空,我当然可以添加额外的逻辑MyCustomValidation来返回 true,但是我应该在许多看起来不太好的验证器中添加这个逻辑。

标签: javahibernatevalidationhibernate-validator

解决方案


在开发自定义验证器时,我们确实建议让验证器为空值返回 true。

除此之外@NotEmpty,Hibernate Validator 提供的所有验证器都遵循这个规则。

@NotNull当您想要一个非空值时,它允许您使用约束来组合。

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


推荐阅读