@Valid参数验证 BindingResult result 的使用

  1. 首先导入依赖包bean-validator.jar

2.在实体类上面写一些相关的验证信息:可以搜索更多的一些验证方式,这只是一部分

可以参考:点击打开链接http://blog.csdn.net/caihaijiang/article/details/7463514

private String username;
    private String password;
    private String nickname;
    private String email;

    public User() {
    }

    @NotEmpty(message="用户名不能为空")
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Size(min=1,max=10,message="密码的长度应该在1和10之间")
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    @Email(message="邮箱的格式不正确")
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

3.后台controller处理

@RequestMapping("save")
    public String save( @Valid User user,BindingResult result) {
        //
        if(result.hasErrors()){
            List ls=result.getAllErrors();
            for (int i = 0; i < ls.size(); i++) {
                System.out.println("error:"+ls.get(i));
            }
        }
        return "adduser";
    }

对BindingResult的深入解析:如果在使用接口返回信息的时候,可以直接拿到bindingResult中的错误信息

if(br.hasErrors()) {
            //如果有错误直接跳转到add视图
            FieldError fieldError= br.getFieldError();
            System.out.println(fieldError.getDefaultMessage());

            List list = br.getFieldErrors();
            for (FieldError fieldError2 : list) {
                System.out.println(fieldError2.getDefaultMessage());
            }
            List ls=br.getAllErrors();
            for (int i = 0; i < ls.size(); i++) {
                System.out.println("error:"+ls.get(i).getDefaultMessage());
            }
            return "user/add";
        }

你可能感兴趣的:(@Valid)