繁体   English   中英

@Valid 注释 - 此位置不允许使用此注释

[英]@Valid annotation - This annotation disallowed for this location

我有具有@Valid注释的控制器方法来强制执行 JSR303 Bean 验证。

但是当我只是给@Valid是显示”

This annotation @Valid is disallowed for this location

我可以通过提供完整的包路径@javax.validation.Valid来摆脱这种情况。 如果我使用它,它不会显示上述消息。

我的问题是,是否有任何冲突迫使我提供完整的包名? 还是缺少一些罐子?

如果@Valid验证工作正常,我不会问这个问题。 但它也不起作用,尽管没有编译或运行时错误。 它只是没有触发。

我在另一个线程中发布了这个问题

看看你的进口。 我猜你只是使用@Valid时没有导入javax.validation.Valid

您需要导入以下包以使@Valid@Size工作:

import javax.validation.Valid;
import javax.validation.constraints.Size;

下面给出了工作所需的必要罐子:

  • 同学-1.0.0.jar
  • hibernate-validator-5.1.3.Final.jar
  • javax.el-2.2.4.jar
  • javax.el-api-2.2.4.jar
  • jboss-logging-3.1.3.GA.jar
  • 验证-api-1.1.0.Final.ja

您可以从http://hibernate.org/validator/下载上述 jars

在要使用获取的字符串的任何方法上方使用注释(请记住仅在字符串数据类型中获取属性文件)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM