【问题标题】:Bean Validation Groups - Understanding it correctlyBean Validation Groups - 正确理解
【发布时间】:2013-07-04 17:38:12
【问题描述】:

我正在尝试了解 Bean 验证中的组。

例如,如果我有一个 bean,并且我只想针对某些情况验证某些字段,我应该对它们进行分组吗?

 @NotNull (groups=MyClassX.class)
 @Min (groups=MyClassA.class)  // 1
 @Pattern(xxxxx, groups = MyClassA.class) // 2
 private String field1;

 @NotNull (groups=MyClassX.class)
 @Min (groups=MyClassX.class)
 @Pattern(xxxxx, groups=MyClassX.class))
 private String field2;

 @NotNull (groups=MyClassX.class)
 @Min (groups=MyClassX.class)
 @Pattern(xxxxx, groups=MyClassA.class) //3
 private String field3;

我对上面例子的理解是,如果我将MyClassA 传递给验证器,那么只有Field1@Min@Patternfield3@Pattern 才被验证? (标有数字 1,2 和 3)

我是否理解正确? 我没有留下任何没有Groups 属性的字段。所以没有默认组。

【问题讨论】:

    标签: java javabeans bean-validation


    【解决方案1】:

    首先,这里是javax.validation javadoc

    当你想验证一个bean时,你实际上调用Validator.validate(T object, java.lang.Class... groups)

    然后它将检查指定组的验证约束。它允许使用多个验证案例。

    您在问题中的描述是准确的。

    注意,如果您没有在约束上放置任何组,那么约束属于默认组,如果您在调用 validate(T object) 时未指定任何组,则默认组是唯一经过验证的组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 2016-09-08
      相关资源
      最近更新 更多