SpringBoot后端表单校验

一、添加依赖

      <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-validation</artifactId>
      </dependency>

//    @NotBlank判断的是null和""和"   "
//    @NotEmpty判断的是不能为null和空,可以修饰字符串,集合,map,数组
//    @NotNull判断不能为null
//    @Size表示长度,可以设置最大值与最小值
//    message参数表示验证不通过后返回的信息
 

附上常用表单验证注解

验证注解

验证的数据类型

说明

空检查

@Null

任意类型

验证注解的元素值是 null

@NotNull

任意类型

验证注解的元素不是 null

@NotBlank

CharSequence 子类型(CharBuffer、String、StringBuffer、StringBuilder)

验证注解的元素值不为空(不为 null、去除首尾空格后长度不为 0),不同于 @NotEmpty,@NotBlank 只应用于字符串且在比较时会去除字符串的首尾空格

@NotEmpty

CharSequence 子类型、Collection、Map、数组

验证注解的元素值不为 null 且不为空(字符串长度不为 0、集合大小不为 0)

Boolean检查

@AssertFalse

Boolean,boolean

验证注解的元素值是 false

@AssertTrue

Boolean,boolean

验证注解的元素值是 true

长度检查

@Size(min=下限, max=上限)

字符串、Collection、Map、数组等

验证注解的元素值的在 min 和 max(包含)指定区间之内,如字符长度、集合大小

@Length(min=下限, max=上限)

CharSequence 子类型

验证注解的元素值长度在 min 和 max 区间内

日期检查

@Past

java.util.Date,java.util.Calendar,Joda-Time 类库的日期类型

验证注解的元素值(日期类型)比当前时间早

@Future

与 @Past 要求一样

验证注解的元素值(日期类型)比当前时间晚

@PastOrPresent

与 @Past 要求一样

验证注解的元素值(日期类型)比当前时间早,或者是当前时间

@FutureOrPresent

与 @Past 要求一样

验证注解的元素值(日期类型)比当前时间晚,或者是当前时间

数值检查

@MIN(value=值)

BigDecimal,BigInteger, byte,short, int, long,等任何 Number 或 CharSequence(存储的是数字)子类型

验证注解的元素值大于等于 @Min 指定的 value 值

@MAX(value=值)

和 @Min 要求一样

验证注解的元素值小于等于 @Max 指定的 value 值

@DecimalMin(value=值)

和 @Min 要求一样

验证注解的元素值大于等于 @ DecimalMin 指定的 value 值

@DecimalMax(value=值)

和 @Min 要求一样

验证注解的元素值小于等于 @ DecimalMax 指定的 value 值

@Digits(integer=整数位数, fraction=小数位数)

和 @Min 要求一样

验证注解的元素值的整数位数和小数位数上限

@Range(min=最小值, max=最大值)

BigDecimal,BigInteger,CharSequence,byte,short,int,long等原子类型和包装类型

验证注解的元素值在最小值和最大值之间

@Negative

和 @Range 要求一样

验证注解的元素必须是负数

@NegativeOrZero

和 @Range 要求一样

验证注解的元素必须是负数或 0

@Positive

和 @Range 要求一样

验证注解的元素必须是正数

@PositiveOrZero

和 @Range 要求一样

验证注解的元素必须是正数或 0

其他检查

@Valid

任何非原子类型

指定递归验证关联的对象;如用户对象中有个地址对象属性,如果想在验证用户对象时一起验证地址对象的话,在地址对象上加 @Valid 注解即可级联验证

@Pattern(regexp=正则表达式,flag=标志的模式)

CharSequence 的子类型

验证注解的元素值与指定的正则表达式匹配

@Email(regexp=正则表达式,flag=标志的模式)

CharSequence 的子类型

验证注解的元素值是 Email,也可以通过 regexp 和 flag 指定自定义的 email 格式

@CreditCardNumber

CharSequence 的子类型

验证注解元素值是信用卡卡号

@ScriptAssert(lang= ,script=)

业务类

校验复杂的业务逻辑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值