我有两个参数String firstName
和String fullName
。我想使用这些参数的java bean验证注释。问题是我希望这个验证是有条件的,如果firstName为null则fullName不能为null,反之亦然。无论如何使用java bean验证吗?
如果没有,最好的选择是什么?我总是可以在我的控制器中进行验证,但是我的应用程序验证是统一的,主要是在我们的实体/模型中处理。
目前我已经完成了这样的验证
if(firstName == null&& fullName == null){
抛出新的ValidationException(“必须提供firstName或fullName”);
}
答案 0 :(得分:0)
如果bean中的两个属性之间有条件要求,则需要编写自定义class level constraint。在这种情况下,您将整个bean实例传递到约束验证器,并可以实现所需的条件逻辑。此解决方案符合Bean Validation规范,因此可在Bean Validation实现之间移植。 Hibernate Validator特定(非可移植)解决方案是使用@ScriptAssert。