springboot-表单数据校验

一、pojo

public class Users {
    private Integer id;
    @NotBlank//非空校验
    private String name;
    @NotBlank
    private Integer age;
}

二、Controller(/addUsers为展示输入页面,/addUser为提交动作)

    @RequestMapping("/addUsers")
    public String showPage(Users users) {
        return "add";
    }
    /*
     * 添加用户
     */
    @RequestMapping("/addUser")
    public String addUser(@Valid Users users, BindingResult result) {//此时users改为其他任意名字不报错
        if(result.hasErrors()) {
            return"add";
        }
        userService.addUser(users);
        return "ok";
    }
注意:
  1. /addUsers展示页面的Url要传入Users对象,因为视图用到了名字为“users”的bean
  2. /addUser中@Valid开启pojo中的验证
  3. BindingResult 记录了验证的错误信息

三、页面:

    
用户姓名:
用户年龄:

注意:

1.th:errors显示错误信息
2.users.这里的users并不是/addUser的变量名,而是依据Users类的驼峰命名的bean名字。
3.在/addUsers展示页面中,传递的Users变量名users要严格与对象名称相同。将第一个字母小写
4.如果想为传递的对象更改名称,可以使用@ModelAttribute("aa")这表示当前传递的对象key为aa.

四、其他校验规则

@NotBlank:判断字符串是否为Null或者是空串(去掉收尾空格)。
@NotEmpty:判断字符串是否null或者是空串。
@Length:判断字符的长度(最大或者最小)
@Min:判断数值最小值
@Max:判断最大值
@Email:判断邮箱是否合法
@Length(min=2,max=6,message="最小长度为2,最大长度为6")

你可能感兴趣的:(springboot-表单数据校验)