@Valid和@validated用法与自定义验证注解
@Valid和@validated用法与自定义验证注解
引入依赖
<!--validation组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!--lombok组件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
@Valid
作用:用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。
用法:
@RequestMapping("/valid")
public Object valid(@Valid Person person, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
//获取错误信息
FieldError fieldError = bindingResult.getFieldError();
//获取验证失败字段名
String field = fieldError.getField();
//获取验证失败的message
String defaultMessage=fieldError.getDefaultMessage();
return defaultMessage;
}
return "success";
}
注意
@Valid:加在需要校验的实体类中
BindingResult:controller控制层写参数接收的入口,需要注意的是@Valid和BindingResult是一一对应的,如果有多个@Valid,那么每个@Valid后面都需要添加BindingResult用于接收bean中的校验信息
实体类
public class Person {
@NotBlank(message = "用户名不能为空")
private