【问题标题】:@Validated not activating validation annotations on variables of contained object@Validated 不激活包含对象变量的验证注释
【发布时间】:2017-11-02 16:22:49
【问题描述】:

我有一个包含对象的类。我正在使用通用 Dto 进行发布和放置操作。因此,使用@Validated 和使用groups 属性,我试图通过post 或put 来激活@Size 之类的注释。但问题是验证注释不会为包含的对象内的变量激活。它们仅适用于 dto 的直接变量。有什么我遗漏的吗?

【问题讨论】:

    标签: spring validation hibernate-validator spring-rest


    【解决方案1】:

    很难说没有看到任何代码,但我认为您缺少 @Valid 注释。

    你需要用@Valid(javax.validation注解)标记你想要级联到的对象。

    【讨论】:

    • 实际上我想对 creat 和 update 调用使用相同的 dto。并且对于相同 dto 的相同字段,这两个调用可以有不同的 vakidation ..like employeeName 在更新期间可以为空,但在 create.with 期间是必需的@vakidated 我能够做到这一点。但它没有激活应用于引用对象变量的注释。假设我在员工中有地址。所以地址类中的街道字段没有得到验证。
    • 正如我在第一个答案中所解释的,如果您希望触发级联验证,则需要使用 @Valid 标记对象。有关更多信息,请参阅文档的这一段:docs.jboss.org/hibernate/stable/validator/reference/en-US/…
    猜你喜欢
    • 1970-01-01
    • 2011-09-14
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2014-09-08
    • 2021-04-21
    • 2021-06-23
    相关资源
    最近更新 更多