springmvc中数据校验的步骤

  1. 添加pom依赖

     <!--数据校验-->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.1.5.Final</version>
    </dependency>
    
  2. 将jar包手动加入tomcat容器里(idea)

  3. 在需要校验的JavaBean属性上加上校验注解


    @NotNull(message = "id不能为空")
    @Min(value=1,message = "id必须大于0")
    private Integer id;
    private String name;
    @NumberFormat(pattern = "#%")
    @Range(min = 18,max = 35,message = "我们只招18岁到35岁的成年人")
    private Integer age;
    private String gender;
    @DateTimeFormat(iso = DATE)
    private Date birthday;
    
  4. 在需要校验的方法上加@Valid注解

  5. 错误我们自己处理,在方法参数上加上BindingResult bindingResult

    @PostMapping("/valid")
    public String valid(@Valid User user, BindingResult bindingResult, Model model){
        // 判断是否有错误信息
        if(bindingResult.hasErrors()){
            // 初始化装错误信息的Map集合
            Map<String,Object> errors = new HashMap<>();
            // 获取所有的错误信息
            List<FieldError> fieldErrors = bindingResult.getFieldErrors();
            // 将字段和错误信息一一对应
            for (FieldError fieldError : fieldErrors) {
                errors.put(fieldError.getField(), fieldError.getDefaultMessage());
            }
            model.addAttribute("errors",errors);
            return "param";
        }
    
        System.out.println(user);
        System.out.println("测试SpringMVC");
        model.addAttribute("user",user);
        return "index";
    }
    
posted @ 2021-03-20 14:33  阿灿呀  阅读(103)  评论(0)    收藏  举报