我正在对我的一些对象应用hibernate validation
。我想一个接一个地验证几个不同的类,但是在第一个错误上打破验证并跳过其余的。
除了每次验证后总是必须检查错误大小是否为>0
之外,我怎么能写这个呢?
class Person, Car, House;
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
error = validator.validate(myPerson);
if (error.size() > 0) return error;
error = validator.validate(myCar, SpecificContraint.class);
if (error.size() > 0) return error;
error = validator.validate(myHouse);
if (error.size() > 0) return error;
//repeat N times
答案 0 :(得分:2)
规范的一部分是检查错误的完整验证范围。基本上,您希望尽可能多地向用户回复错误,因此他可以一次性修复它们,而不必经历多次错误。
如果你特别想按照你的说法做,你的代码对我来说似乎很好,除了我可能会使用
if (!error.isEmpty()) return error;
代替。