zoukankan      html  css  js  c++  java
  • SpringBoot表单参数验证

    参数校验在我们日常开发中非常常见,最基本的校验有判断属性是否为空、长度是否符合要求等,在传统的开发模式中需要写一堆的 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) 测试结果

    未成年禁止入内
    

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

  • 相关阅读:
    jQuery事件委托
    jQuery-事件面试题
    jQuery事件处理
    文档—CUD
    jQuery练习
    jQuery-筛选
    5. Longest Palindromic Substring
    340. Longest Substring with At Most K Distinct Characters
    159. Longest Substring with At Most Two Distinct Characters
    438. Find All Anagrams in a String
  • 原文地址:https://www.cnblogs.com/ncwoniu/p/13176843.html
Copyright © 2011-2022 走看看