Java 带有Hibernate验证程序的Spring 4.2.3 5.2.2.Final不起作用

Java 带有Hibernate验证程序的Spring 4.2.3 5.2.2.Final不起作用,java,spring,hibernate,maven,spring-mvc,Java,Spring,Hibernate,Maven,Spring Mvc,我正在尝试将Spring4.2.3与HibernateValidator v.5.2.2.Final集成,以验证REST控制器公开的输入JSON数据。 我没有看到任何编译时或运行时异常,但同时它不会验证输入数据 Pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId&g

我正在尝试将Spring4.2.3与HibernateValidator v.5.2.2.Final集成,以验证REST控制器公开的输入JSON数据。 我没有看到任何编译时或运行时异常,但同时它不会验证输入数据

Pom.xml

 <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.2.3.RELEASE</version>
        <scope>compile</scope>
    </dependency>
    <!-- jsr303 validation dependencies -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>2.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>javax.el</artifactId>
        <version>2.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator-cdi</artifactId>
        <version>5.2.2.Final</version>
    </dependency>

在您的依赖项列表中,有一条注释说…jsr303验证依赖项。。。。注意bean验证有一个更新的规范(),这很可能是您的问题

您应该按照以下方式对齐依赖项

hibernate-validator-5.x.x 
validation-api-1.1.x
哪种工具

哪个实现

如果混合使用依赖项,验证将不会生效。作为解决方案建议,添加

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>

javax.validation
验证api
1.1.0.1最终版本

并确保删除对
validation-api-1.0
jar

的任何依赖项。在依赖项列表中,有一条注释说……jsr303验证依赖项。。。。注意bean验证有一个更新的规范(),这很可能是您的问题

您应该按照以下方式对齐依赖项

hibernate-validator-5.x.x 
validation-api-1.1.x
哪种工具

哪个实现

如果混合使用依赖项,验证将不会生效。作为解决方案建议,添加

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>

javax.validation
验证api
1.1.0.1最终版本

并确保您删除了对
validation-api-1.0
jar

的任何依赖关系,我认为这是一个有趣的问题


如果要删除验证,只需从方法中删除
@Valid
,就可以了。

我想有兴趣看看这个


如果要删除验证,只需从方法中删除
@Valid
,就可以了。

此代码会给您带来一些错误?把它放在这里。不,它没有。这是我的json请求{“testNull”:“}它没有验证请求。这段代码会给你一些错误吗?把它放在这里。不,它没有。这是我的json请求{“testNull”:“”}它没有验证请求。我添加了“org.hibernate hibernate validator 5.2.2.Final javax.validation-validation-api 1.1.0.Final”,这两个版本都不起作用。仍然无法执行验证。请确保使用
@EnableWebMvc
,具体取决于您是使用java还是xml配置。我添加了“org.hibernate hibernate validator 5.2.2.Final”javax.validation api 1.1.0.Final“它不起作用,我用这两个版本都试过了。仍然无法执行验证。请确保您使用
@EnableWebMvc
,具体取决于您使用的是java还是xml配置。我无法按照说明进行操作,请详细说明。我无法按照说明进行操作,请详细说明?