springboot中的数据校验-注解版
程序员文章站
2022-07-12 13:53:24
...
-
@Valid开启对User对象的校验
-
BindingResult封装了数据校验的结果、
*** 注:**
*/*解决异常一:在跳转的界面没有User对象,这就需要增加User解决异常二:或者使用@ModelAttribute(“aa”),同时要保证重新跳转界面的也要加上@ModelAttribute(“aa”)
保证页面的一致性!
@Controller
public class userController {
/*解决异常一:在跳转的界面没有User对象,这就需要增加User
解决异常二:或者使用@ModelAttribute("aa"),同时要保证重新跳转界面的也要加上@ModelAttribute("aa")
保证页面的一致性!
*
* */
@RequestMapping("/addUser")
public String addUser(User user) {
return "add";
}
/*
* @Valid开启对User对象的校验
* BindingResult封装了数据校验的结果
* */
@RequestMapping("/save")
public String saveUser(@Valid User user ,BindingResult result){
if(result.hasErrors()){
return "add";
}
System.out.println(user);
return "ok";
}
}
在实体类中进行规则校验
public class User {
@Length(max = 6,min = 2,message = "请输入2-6长的有效用户名")
@NotBlank//非空检验
private String name;
@NotEmpty//非空检验
private String password;
@Max(value = 100)
@Min(value = 10)
private Integer age;
@Email(message = "请输入有效的邮箱名")
private String email;
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", password='" + password + '\'' +
", age=" + age +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
@Length(max = 6,min = 2,message = "请输入2-6长的有效用户名")
@NotBlank//非空检验
private String name;
@NotEmpty//非空检验
private String password;
@Max(value = 100)
@Min(value = 10)
private Integer age;
@Email(message = "请输入有效的邮箱名")
private String email;