Spring MVC 3 验证 - 找不到默认提供程序

Posted

技术标签:

【中文标题】Spring MVC 3 验证 - 找不到默认提供程序【英文标题】:Spring MVC 3 Validation - Unable to find a default provider 【发布时间】:2011-01-14 22:10:18 【问题描述】:

尝试设置 Spring MVC 验证时出现错误。

javax.validation.ValidationException: Unable to find a default provider

我在文档中读到他们使用的默认提供程序是休眠验证器。我是否需要包含此库才能使验证正常工作?即使我的项目没有使用休眠,也可以包含这个库吗?

【问题讨论】:

【参考方案1】:

是的,您应该包含 Hibernate Validator 库才能使用它。它不依赖于 Hibernate 本身。

【讨论】:

【参考方案2】:

确保您使用的是 Hibernate 4。

【讨论】:

【参考方案3】:

如果您使用的是 Maven,则必须将依赖项添加到 Hibernate Validator Annotation Processor

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-validator-annotation-processor</artifactId>
  <version>4.1.0.Final</version>
</dependency>

您可以在 JBoss 存储库中找到它

<repository>
  <id>JBoss Repository</id>
  <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
  <name>JBoss Repository</name>
</repository>

【讨论】:

只使用“hibernate-validator”,而不是“hibernate-validator-annotation-processor”,后者给项目增加的东西比你需要的多。

以上是关于Spring MVC 3 验证 - 找不到默认提供程序的主要内容,如果未能解决你的问题,请参考以下文章

Spring v3 找不到元素“mvc:resources”的声明

继承类的 Spring MVC 验证

找不到 Spring MVC 控制器 jsp 文件

spring MVC找不到JS的问题

MissingCsrfTokenException:无法验证提供的 CSRF 令牌,因为找不到您的会话

构建 Spring MVC 应用程序,控制器“找不到符号”模型