zoukankan      html  css  js  c++  java
  • springboot之JSR303数据校验

    springboot之JSR303数据校验

     

    先看看如何使用

    Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;

    @Component //注册bean
    @ConfigurationProperties(prefix = "person")
    @Validated  //数据校验
    public class Person {

       @Email(message="邮箱格式错误") //name必须是邮箱格式
       private String name;
    }

     

    运行结果 :default message [不是一个合法的电子邮件地址];

    图片

    使用数据校验,可以保证数据的正确性;

    注:可能@Email注解会爆红,需要在pom.xml中写入如下依赖

    <dependency>
               <groupId>org.hibernate.validator</groupId>
               <artifactId>hibernate-validator</artifactId>
               <version>6.0.7.Final</version>
    </dependency>

     

    常见参数

    @NotNull(message="名字不能为空")
    private String userName;
    @Max(value=120,message="年龄最大不能查过120")
    private int age;
    @Email(message="邮箱格式错误")
    private String email;

    空检查
    @Null       验证对象是否为null
    @NotNull   验证对象是否不为null, 无法查检长度为0的字符串
    @NotBlank   检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
    @NotEmpty   检查约束元素是否为NULL或者是EMPTY.
       
    Booelan检查
    @AssertTrue     验证 Boolean 对象是否为 true  
    @AssertFalse   验证 Boolean 对象是否为 false  
       
    长度检查
    @Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内  
    @Length(min=, max=) string is between min and max included.

    日期检查
    @Past       验证 Date 和 Calendar 对象是否在当前时间之前  
    @Future     验证 Date 和 Calendar 对象是否在当前时间之后  
    @Pattern   验证 String 对象是否符合正则表达式的规则

    .......等等
    除此以外,我们还可以自定义一些数据校验规则

     

  • 相关阅读:
    Maximum Flow Exhaustion of Paths Algorithm
    ubuntu下安装java环境
    visualbox使用(二)
    vxworks一个超级奇怪的错误(parse error before `char')
    February 4th, 2018 Week 6th Sunday
    February 3rd, 2018 Week 5th Saturday
    February 2nd, 2018 Week 5th Friday
    February 1st, 2018 Week 5th Thursday
    January 31st, 2018 Week 05th Wednesday
    January 30th, 2018 Week 05th Tuesday
  • 原文地址:https://www.cnblogs.com/czhai/p/15808583.html
Copyright © 2011-2022 走看看