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