美文网首页
springMVC validator参数校验最新版

springMVC validator参数校验最新版

作者: ColorsLee | 来源:发表于2020-05-23 10:46 被阅读0次

    1.首先导包,这里需要导入两个jar 包,只导入一个会报错。

        <dependency>
          <groupId>org.hibernate.validator</groupId>
          <artifactId>hibernate-validator</artifactId>
          <version>6.1.5.Final</version>
        </dependency>
    
        <dependency>
          <groupId>org.glassfish</groupId>
          <artifactId>jakarta.el</artifactId>
          <version>3.0.3</version>
        </dependency>
    

    2.新建实体类Student,在其中使用校验注解

    public class Student implements Serializable{
    
        @NotEmpty(message = "用户名不可为空")
        String name;
        String address;
        @Email(message = "邮箱格式不真该")
        String email;
        @Max(100)@Min(1)
        int age;
        @Null
        String sex;
        @Min(value = 1,message = "不可是空")
        float score;
        @Size(message = "位不对",max = 11,min = 11)
        String phone;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    
        public String getEmail() {
            return email;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public float getScore() {
            return score;
        }
    
        public void setScore(float score) {
            this.score = score;
        }
    
        public String getPhone() {
            return phone;
        }
    
        public void setPhone(String phone) {
            this.phone = phone;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", address='" + address + '\'' +
                    ", email='" + email + '\'' +
                    ", age=" + age +
                    ", sex='" + sex + '\'' +
                    ", score=" + score +
                    ", phone='" + phone + '\'' +
                    '}';
        }
    }
    

    3.新建controller测试,接收数据,其中@Valid注解表示对该对象启用校验,不可缺少。BindingResult是校验的结果,我们可以通过结果来判断给前端返回什么数据(如用户名为空,邮箱格式不对)

    @Controller
    public class TestController {
    
        @ResponseBody
        @RequestMapping("test")
        public String test(@Valid Student student, BindingResult result){
            List<ObjectError> errors = result.getAllErrors();
            for (ObjectError e : errors) {
                System.out.println(e.getDefaultMessage());
            }
            if (errors.size()==0){
                return "成功";
            }else {
                return "有格式不正确的参数";
            }
        }
    }
    

    4.网页测试文件也贴出来

    <body>
    <button id="b">button</button>
    <script src="js/jquery-1.8.3.min.js"></script>
    <script>
        $("#b").click(function () {
    
            $.ajax({
                url:"test",
                type:"post",
                data:{
                    name:"张三",
                    age:12,
                    address:"天津",
                    score:12.6,
                    email:"hello@11.com",
                    phone:"29438489349"
                },
                success:function (result) {
                    window.alert(result)
                }
            })
        })
    </script>
    </body>
    

    5.其他文件不需要需改,不需要修改配置文件等,以上就是全部,亲测无误。

    相关文章

      网友评论

          本文标题:springMVC validator参数校验最新版

          本文链接:https://www.haomeiwen.com/subject/vxjkahtx.html