最近在看《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>