美文网首页
Spring Boot 学习之路七,表单验证

Spring Boot 学习之路七,表单验证

作者: 渝潼不肖生 | 来源:发表于2017-08-06 15:13 被阅读0次
        接着前面的基础继续学习springboot,表单验证,就是检查前端提交的数据合理性,  
    

    比如电话号码够不够长,邮箱格式是否正确~我们来看看springboot为我们提供了什么样的便利
    首先我们看看我们之间的实体类ManInfo,我现在在里面添加了 @NotEmpty、@Min等注解,
    message是不符合验证的提示信息。

    @Entity
    public class ManInfo {
        @Id
        @GeneratedValue
        private Integer id;
        private Integer age;
        private String nickname;
    
        public ManInfo() {
        }
    
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
       
        @NotEmpty(message="年龄不能为空")
        @Min(value = 18, message = "未成年禁止入内!")
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getNickname() {
            return nickname;
        }
    
        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
    }
    
    

    然后编写Controller类:使用@Valid注解验证数据,BindingResult是获取验证结果的。代码如下

    @RestController
    public class ManInfoController {
        @Autowired
        ManInfoRepository manInfoRepository;
    
        @Autowired
        ManInfoService manInfoService;
    
    /**
         * 添加一个人
         * @param manInfo
         * @return
         */
        @PostMapping(value = "/addMan2")
        ManInfo addMan2(@Valid ManInfo manInfo, BindingResult bindingResult){
            if(bindingResult.hasErrors()){
               /* for (ObjectError error : list) {  
                    System.out.println(error.getDefaultMessage());  
                }  */
                System.out.println(bindingResult.getFieldError().getDefaultMessage());
                return  null;
            }
            return  manInfoRepository.save(manInfo);
        }
    }
    

    一个简单的表单验证就完成了

    下面是表单验证的主要注解

    @null           验证对象是否为空
    @notnull     验证对象是否为非空
    @asserttrue       验证 boolean 对象是否为 true
    @assertfalse      
    验证 boolean 对象是否为 false
    @min           验证 number 和 string 对象是否大等于指定的值
    @max           验证 number 和 string 对象是否小等于指定的值
    @decimalmin     验证 number 和 string 对象是否大等于指定的值,小数存在精度
    @decimalmax     验证 number 和 string 对象是否小等于指定的值,小数存在精度
    @size           验证对象(array,collection,map,string)长度是否在给定的范围之内
    @digits       验证 number 和 string 的构成是否合法
    @past           验证 date 和 calendar 对象是否在当前时间之前
    @future       验证 date 和 calendar 对象是否在当前时间之后
    @pattern     验证 string 对象是否符合正则表达式的规则
    @Email     验证邮箱
    

    相关文章

      网友评论

          本文标题:Spring Boot 学习之路七,表单验证

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