springMvc 的参数验证 BindingResult result 的使用

http://blog.sina.com.cn/s/blog_6829be5c0101alxh.html 非常详细的一篇讲解 并且值得深入探讨

http://bbs.csdn.NET/topics/360254599  简单明了

 

 

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

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

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

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  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处理

 

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  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.     }  

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

 

 

[java]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  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.         }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值