Spring -- 02 -- Validation校验注解解析

原文链接:Spring – 02 – Validation校验注解解析


相关文章:


在日常与前端的交互中,我们会发现,尽管前端已经对请求参数做了校验,但有时候后端程序还是会报错,因此我们可以在后端再做一次校验,以确保数据的正确性,此时校验注解就派上了用场


一、注解

  • @Null

    • 字段必须为 null
  • @NotNull

    • 字段不能为 null
  • @NotBlank

    • 字段不能为 null,且去掉首尾空格后长度不能为 0

    • 只能作用于字符串

  • @NotEmpty

    • 字段不能为 null 且不能为空

    • 可以作用于字符串,其长度不能为 0

    • 可作用于 Array、Collection、Map,其大小不能为 0

  • @Email

    • 字段必须为邮箱格式
  • @Max(value = i)

    • 字段必须为数字,且数值不能超过指定的最大值 i
  • @Min(value = i)

    • 字段必须为数字,且数值不能超过指定的最小值 i
  • @Size(max = i, min = j)

    • 字段长度必须在指定的范围之间

    • 可以作用于字符串,其长度必须在指定的范围之间

    • 可作用于 Array、Collection、Map,其大小必须在指定的范围之间

  • @DecimalMax(value = i)

    • 字段必须为数字 (可以为小数),且数值不能超过指定的最大值 i
  • @DecimalMin(value = i)

    • 字段必须为数字 (可以为小数),且数值不能超过指定的最小值 i
  • @Positive

    • 字段必须为正数,即数值大于 0
  • @PositiveOrZero

    • 字段必须为正数或 0,即数值大于等于 0
  • @Negative

    • 字段必须为负数,即数值小于 0
  • @NegativeOrZero

    • 字段必须为负数或 0,即数值小于等于 0
  • @AssertTrue

    • 字段必须为 true
  • @AssertFalse

    • 字段必须为 false
  • @Future

    • 字段必须为未来的时间 (时间戳)

    • 只能作用于 Date

  • @FutureOrPresent

    • 字段必须为未来的时间或当前的时间 (时间戳)

    • 只能作用于 Date

  • @Past

    • 字段必须为过去的时间 (时间戳)

    • 只能作用于 Date

  • @PastOrPresent

    • 字段必须为过去的时间或当前的时间从 (时间戳)

    • 只能作用于 Date

  • @Pattern(regexp = “”)

    • 字段必须匹配正则表达式
  • @Digits(integer = i, fraction = j)

    • 字段必须为数值,且正数部分不能超过 i 位,小数部分不能超过 j 位

二、@NotNull、@NotBlank、@NotEmpty 三者之间的区别

  • @NotNull

    • @NotNull 最好理解,只要字段不为 null 即可
  • @NotBlank

    • @NotBlank 只能作用于字符串,字段不能为 null 且去掉首尾空格后长度不能为 0
  • @NotEmpty

    • @NotEmpty,字段不能为 null 且不能为空

    • 可以作用于字符串,其长度不能为 0

    • 可作用于 Array、Collection、Map,其大小不能为 0

  • 举例说明

    String str = null;
    
    @NotNull false
    @NotBlank false
    @NotEmpty false
    
    String str = "";
    
    @NotNull true
    @NotBlank false
    @NotEmpty false
    
    String str = " ";
    
    @NotNull true
    @NotBlank false
    @NotEmpty true
    
    String str = "null";
    
    @NotNull true
    @NotBlank true
    @NotEmpty true
    

三、参考资料

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值