SpringBoot(五)_表单验证

匿名 (未验证) 提交于 2019-12-03 00:22:01

参数校验在我们日常开发中非常常见,最基本的校验有判断属性是否为空、长度是否符合要求等,在传统的开发模式中需要写一堆的 if else 来处理这些逻辑,很繁琐,效率也低。使用 @Valid + BindingResult 就可以优雅地解决这些问题

(1)首先在实体类中增加注解

@Entity public class Girl  {       @Id     @GeneratedValue     private int id;      @NotEmpty(message = "姓名不能为空")     private String name;      @Min(value = 18,message = "未成年禁止入内")     private int age;      public Girl() {     } 

(2) 在controller 中增加@Valid + BindingResult

    @PostMapping("/girls")     public Girl girlAdd(@Valid Girl girl, BindingResult bindingResult){         if(bindingResult.hasErrors()){              System.out.println(bindingResult.getFieldError().getDefaultMessage());             return  null;         }         return girlRepository.save(girl);     }

(3) 测试结果

未成年禁止入内

结果显示均已经触发了校验规则,返回了错误信息,在实际使用过程中可以对错误信息进行包装,最后返回到前端进行展示。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!