问题
Controller的方法参数上添加了@Validated注解,但bindingResult.hasErrors()的结果一直是false,参数验证一直不生效, 不能返回验证信息,@Validated不生效
原因
在spring boot 2.3之前, 引入spring-boot-starter-web依赖后就可以使用@Validated了, 是因为它本身就包含了hibernate-validator的依赖。但从spring boot 2.3开始,官方移除了其中包含的hibernate-validator依赖, 需要自己添加依赖。
解决方式
添加以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>2.0.2</version>
</dependency>
网友评论