【问题标题】:javax Validator recursive validation by defaultjavax Validator 默认递归验证
【发布时间】:2018-06-20 18:11:32
【问题描述】:

我有两个类,其中一个嵌套在另一个中。我想针对我的这种结构反序列化和验证传入的 JSON。我有一个由

获得的 javax Validator
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

然后我会这样做:

Set<ConstraintViolation<Object>> validate = validator.validate(obj);

obj 是我的反序列化 JSON。我的嵌套类是

class Foo {

  @Min(5)
  Integer a;

  List<Bar> bars;

  static class Bar {
    @Min(2)
    Integer b;
  }
}

我知道,除非我在 List&lt;Bar&gt; bars 字段上指定 @Valid 注释,否则 validator 不会进行递归验证。但是,我希望 validator 的默认行为是递归的。

在获取Validator 的实例时有没有办法做到这一点?

【问题讨论】:

  • 有人知道如何实现吗?

标签: java json validation javax


【解决方案1】:

您可以使用@Valid 实现此目的,它允许“验证级联”(请参阅​​this example

class Foo {

  @Min(5)
  Integer a;

  @Valid
  List<Bar> bars;

  static class Bar {
    @Min(2)
    Integer b;
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多