【问题标题】:Validation nested models in spring boot在 Spring Boot 中验证嵌套模型
【发布时间】:2016-12-06 22:07:57
【问题描述】:

我在验证嵌套模型时遇到问题,请看:

class A{
   @NotNull
   Integer i;
   B b;
}
class B{
   @NotNull
   Integer j;
}

在spring控制器中:
@Valid @RequestBody...

它正确验证i,但不验证j。如何强制 Spring 任意深度验证?

第二件事:
是否可以进行以下验证:仅当 i 和 j 之一是 null 时,“A”类的对象才是正确的。

class A{
   Integer i;
   Integer j;
}

【问题讨论】:

    标签: java spring spring-boot jackson hibernate-validator


    【解决方案1】:

    支持对象图验证,您必须使用@Valid 注释B b,如下所示。

    class A{
      @NotNull
      Integer i;
      @Valid
      B b;
    }
    

    详情请咨询https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/?v=5.3#section-object-graph-validation。

    对于您问题的第二部分,您可以创建一个自定义验证器类。您还需要该验证器的自定义注释。您可以在文档页面here 中查看详细信息。自定义验证器的示例是 here。

    【讨论】:

      猜你喜欢
      • 2012-08-28
      • 2012-12-12
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多