@Valid參數驗證 BindingResult result 的使用

1.首先導入依賴包bean-validator.jar
2.在實體類上面寫一些相關的驗證信息:能夠搜索更多的一些驗證方式,這只是一部分app

能夠參考:點擊打開連接http://blog.csdn.net/caihaijiang/article/details/7463514this

 

 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處理spa

 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中的錯誤信息.net

 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 }
相關文章
相關標籤/搜索