- 导包:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
- 给参数对象添加上面的校验注解
@Data public class UserEntity { private String id; @Length(min = 8,max = 32,message = "用户名长度需要在8-32之间") private String userName; @Length(min = 8) private String password; }
- Controller 参数Bean前添加 @Valid 开启校验功能,参数Bean后添加 BindingResult,用于封装前面Bean的校验结果。
@PostMapping("/register")
public String register(@Valid UserEntity userEntity, BindingResult bindResult , Model model){
if (bindResult.hasErrors()){ // 校验是否存在错误
List list = new ArrayList();
bindResult.getFieldErrors().forEach((item)->{
String msg = item.getDefaultMessage(); // 变量默认的异常
String field = item.getField(); //未通过的变量
list.add(msg);
});
log.info("日志打印:{}",list);
model.addAttribute("msg",list);
return "register";
}