http://blog.sina.com.cn/s/blog_6829be5c0101alxh.html 非常详细的一篇讲解 并且值得深入探讨
http://bbs.csdn/topics/360254599 简单明了
1. 首先导入依赖包bean-validator.jar
2.在实体类上面写一些相关的验证信息:可以搜索更多的一些验证方式,这只是一部分
可以参考:http://blog.csdn/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";
- }