@Valid参数验证 BindingResult result 的使用
1.首先导入依赖包bean-validator.jar
2.在实体类上面写一些相关的验证信息:可以搜索更多的一些验证方式,这只是一部分
可以参考:点击打开链接http://blog.csdn.net/caihaijiang/article/details/7463514
1 private String username; 2 private String password; 3 private String nickname; 4 private String email; 5 6 public User() { 7 } 8 9 @NotEmpty(message="用户名不能为空") 10 public String getUsername() { 11 return username; 12 } 13 14 public void setUsername(String username) { 15 this.username = username; 16 } 17 18 @Size(min=1,max=10,message="密码的长度应该在1和10之间") 19 public String getPassword() { 20 return password; 21 } 22 23 public void setPassword(String password) { 24 this.password = password; 25 } 26 27 public String getNickname() { 28 return nickname; 29 } 30 31 public void setNickname(String nickname) { 32 this.nickname = nickname; 33 } 34 35 @Email(message="邮箱的格式不正确") 36 public String getEmail() { 37 return email; 38 } 39 40 public void setEmail(String email) { 41 this.email = email; 42 }
3.后台controller处理
1 @RequestMapping("save") 2 public String save( @Valid User user,BindingResult result) { 3 // 4 if(result.hasErrors()){ 5 List<ObjectError> ls=result.getAllErrors(); 6 for (int i = 0; i < ls.size(); i++) { 7 System.out.println("error:"+ls.get(i)); 8 } 9 } 10 return "adduser"; 11 }
4.对BindingResult的深入解析:如果在使用接口返回信息的时候,可以直接拿到bindingResult中的错误信息
1 if(br.hasErrors()) { 2 //如果有错误直接跳转到add视图 3 FieldError fieldError= br.getFieldError(); 4 System.out.println(fieldError.getDefaultMessage()); 5 6 List<FieldError> list = br.getFieldErrors(); 7 for (FieldError fieldError2 : list) { 8 System.out.println(fieldError2.getDefaultMessage()); 9 } 10 List<ObjectError> ls=br.getAllErrors(); 11 for (int i = 0; i < ls.size(); i++) { 12 System.out.println("error:"+ls.get(i).getDefaultMessage()); 13 } 14 return "user/add"; 15 }