spring boot 2.7.18 @validity 进行表单校验
时间: 2024-09-06 12:05:47 浏览: 95
`@Validated`是Spring框架中用于方法参数校验的一个注解。当你在一个方法参数前加上`@Validated`注解时,Spring会自动调用相应的校验器对这个对象进行校验,并且根据校验结果抛出`MethodArgumentNotValidException`异常。
下面是一个使用`@Validated`进行表单校验的简单示例:
首先,你需要定义一个用于表单数据封装的DTO(Data Transfer Object)类,并在该类中使用`@Valid`或`@Validated`注解配合Bean Validation注解(如`@NotNull`, `@Size`, `@Email`等)来指定校验规则:
```java
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
public class UserForm {
@NotBlank(message = "用户名不能为空")
@Size(min = 2, max = 10, message = "用户名长度必须在2到10位之间")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
// getter和setter省略
}
```
然后,在Controller的方法中使用`@Validated`注解来激活校验:
```java
import org.springframework.web.bind.annotation.*;
@RestController
public class UserController {
@PostMapping("/register")
public String register(@Validated @RequestBody UserForm userForm) {
// 校验通过,执行注册逻辑
return "注册成功";
}
}
```
在Spring Boot 2.7.18版本中,`@Validated`注解可以确保传入的`UserForm`对象中的属性符合定义的校验规则。如果校验不通过,Spring会自动抛出`ConstraintViolationException`异常,并且可以通过全局异常处理器来捕获这个异常并返回相应的错误信息。
阅读全文
相关推荐



















