• 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.         }  
  • 相关阅读:
    剑指Offer-合并两个排序的链表
    1. Two Sum&&15. 3Sum&&18. 4Sum
    Sumo生成数据
    357. Count Numbers with Unique Digits
    553. Optimal Division
    147. Insertion Sort List
    24. Swap Nodes in Pairs
    【LeetCode & 剑指offer刷题】发散思维题3:62 圆圈中最后剩下的数字(约瑟夫环问题)
    【LeetCode & 剑指offer刷题】发散思维题2:43 n个骰子的点数
    【LeetCode & 剑指offer刷题】发散思维题1:17 打印从1到最大的n位数
  • 原文地址:https://www.cnblogs.com/soundcode/p/6443858.html
Copyright © 2020-2023  润新知