两个参数的Java Bean验证

时间:2015-03-06 17:00:30

标签: java hibernate bean-validation

我有两个参数String firstNameString fullName。我想使用这些参数的java bean验证注释。问题是我希望这个验证是有条件的,如果firstName为null则fullName不能为null,反之亦然。无论如何使用java bean验证吗?

如果没有,最好的选择是什么?我总是可以在我的控制器中进行验证,但是我的应用程序验证是统一的,主要是在我们的实体/模型中处理。

目前我已经完成了这样的验证

  

if(firstName == null&& fullName == null){

     

抛出新的ValidationException(“必须提供firstName或fullName”);

     

}

1 个答案:

答案 0 :(得分:0)

如果bean中的两个属性之间有条件要求,则需要编写自定义class level constraint。在这种情况下,您将整个bean实例传递到约束验证器,并可以实现所需的条件逻辑。此解决方案符合Bean Validation规范,因此可在Bean Validation实现之间移植。 Hibernate Validator特定(非可移植)解决方案是使用@ScriptAssert