如何在第一次错误时停止验证?

时间:2014-03-05 15:05:11

标签: java spring hibernate validation

我正在对我的一些对象应用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

1 个答案:

答案 0 :(得分:2)

规范的一部分是检查错误的完整验证范围。基本上,您希望尽可能多地向用户回复错误,因此他可以一次性修复它们,而不必经历多次错误。

如果你特别想按照你的说法做,你的代码对我来说似乎很好,除了我可能会使用

if (!error.isEmpty()) return error;

代替。