SpringBoot在Controller中使用@Valid验证不生效

最近在看《Spring In Action 5th》,其中用到了表单验证:Hibernate实现的JSR-303 API。

刚开始在pom文件中引入hibernate-validator包

<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>7.0.1.Final</version>
</dependency>


在Controller中使用@Valid进行校验

@PostMapping("/processDesign")
public String processDesign(@Valid Taco design, Errors errors) {


发现根本不走校验,@Valid验证是无效的。


原因:验证框架包引入错误。

使用springboot封装的包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>


 

展开阅读全文