首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java约束验证器--如何从我的自定义验证器中调用默认的约束验证器?

问Java约束验证器--如何从我的自定义验证器中调用默认的约束验证器?
EN

Stack Overflow用户
提问于 2014-06-02 20:24:23
回答 1查看 1.2K关注 0票数 0

我有一个模型对象,如下所示,它带有自定义约束验证器。自定义验证器检查是否填充了fileName或时数。

代码语言:javascript
复制
@ValidCriteria
class Criteria{
    @NotEmpty String id;    
    @NotEmpty String name;
    String fileName;
    String hours;   
}

有一个方法将此作为输入,并验证以下所有条件

  1. 条件不为空(默认情况下为验证器)
  2. criteria.id不是空的(默认情况下是验证器)
  3. criteria.name不是空的(默认情况下是验证器)
  4. 标准fileName或小时不为空(按自定义验证程序) 无效评估(@NotNull@有效标准){}

现在,当我为这个模型类编写单元测试时。我在召唤

代码语言:javascript
复制
Validation.buildDefaultValidatorFactory().getValidator().validate(criteria)

当我这样做时,默认情况下的前3次验证不会被调用。有办法从我的单元测试或自定义验证器调用默认验证器吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 21:35:04

我找到了答案。实际上,下面的行调用在我的定制约束@ValidCriteria中定义的自定义验证器,它反过来将委托给默认验证器。由于我的验证器中有一个bug,它在早些时候没有工作。

代码语言:javascript
复制
Validation.buildDefaultValidatorFactory().getValidator().validate(criteria)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24002656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档