我有一个模型对象,如下面的自定义约束验证器。自定义验证程序检查是否填充了fileName或hours。
@ValidCriteria
class Criteria{
@NotEmpty String id;
@NotEmpty String name;
String fileName;
String hours;
}
有一种方法可以将此作为输入,并验证以下所有条件
条件fileName或小时不为空(通过自定义验证程序)
无效评估(@NotNull @Valid Criteria criteria){}
现在我正在为这个模型类编写单元测试。我正在调用
Validation.buildDefaultValidatorFactory().getValidator().validate(criteria)
当我这样做时,默认验证器的前三个验证没有被调用。有没有办法从我的单元测试或自定义验证器调用默认验证器?
答案 0 :(得分:0)
我找到了答案。实际上,下面的行是调用我的自定义约束@ValidCriteria中定义的自定义验证器,后者又委托给默认验证器。由于我的验证器中存在错误,因此无法提前工作。
Validation.buildDefaultValidatorFactory().getValidator().validate(criteria)