springboot@Valid注解用法详解

 

目录

一.@Valid注解的作用

二.@Valid注解的用法 

 三.更多实体类的校验注解如下

一.@Valid注解的作用

@Valid用于对象属性的检测,可以极大减少代码量,具体看我下面我娓娓道来 

 

现有一个User实体类:

springboot@Valid注解用法详解_第1张图片

 有个接口,执行添加User操作springboot@Valid注解用法详解_第2张图片

现在如果想要对User中的姓名和age做非空校验和长度校验,如果在接口中频繁使用if会增加很大的代码量,这个时候@Valid注解就派上了用场。 

 

二.@Valid注解的用法 

1.引入依赖包


    javax.validation
    validation-api
    1.1.0.Final

 

    org.hibernate
    hibernate-validator
    5.4.1.Final

 
 


    org.springframework.boot
    spring-boot-starter-web
    2.6.5

2.在User类的属性上增加 @Valid的校验注解

springboot@Valid注解用法详解_第3张图片

3.在Controller入参上添加@Valid注解

springboot@Valid注解用法详解_第4张图片

 

此时controller收到入参后就会对user进行校验

4.如果想获取验证结果

可以BindingResult 参数来获取验证结果

springboot@Valid注解用法详解_第5张图片

 

 三.更多实体类的校验注解如下

@Null:用在基本类型上;限制只能为null
@NotNull:用在基本类型上;不能为null,但可以为empty
@NotEmpty :用在集合类上面;不能为null,而且长度必须大于0 
@NotBlank: 用在String上面;只能作用在String上,不能为null,而且调用trim()后,长度必须大于0 
@AssertFalse:限制必须为false
@AssertTrue:限制必须为true
@Digits: 验证 Number 和 String 的构成是否合法  
@DecimalMax(value):限制必须为一个不大于指定值的数字,小数存在精度
@DecimalMin(value) :限制必须为一个不小于指定值的数字,小数存在精度
@Digits(integer,fraction) :限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Size(max,min):限制字符长度必须在min到max之间
@Max(value) :限制必须为一个不大于指定值的数字
@Min(value) : 限制必须为一个不小于指定值的数字
@Past:限制必须是一个过去的日期
@Future :限制必须是一个将来的日期
@Pattern(value): 限制必须符合指定的正则表达式
@Past:验证注解的元素值(日期类型)比当前时间早
@Email :验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email
 

你可能感兴趣的:(Java开发系列,spring,boot,java,spring,后端)