@Valid注解的使用

        首先Valid注解是用来进行数据验证的,可以定义在自己的实体上面,我经常会在定义在自己的Dto类里面。

使用方法很简单:

        给自己相应的实体的属性加上一些自己需要加上的校验规则。在请求参数上面加上@Valid关键字,实体类将会开启一个校验规则。

        上个图看一下

        可以看到我的WoPnQueryDto类里面加了校验规则为@NotEmpty 

        我的接收参数上只需要加上@Valid关键字就可以实现对WoPnQueryDto里面的属性进行相应校验规则的校验

        接下来说一些有关使用@Valid的相关注意事项

         诸如这种的有很多,就不一一例举了。

        实体类验证只是针对该实体内第一层对象的属性进行验证,如果存在被验证的实体类为另一个实体类的的成员变量,那么就需要在该成员变量(需要验证的实体类)上加 @valid 注解,比如说上面的WoPnQueryDto,就是只能对本Dto下面的属性进行验证,如果我这个Dto继承(extends)另一个实体类,我是无法对继承的实体类进行属性验证的。

最后列出一些配合@Valid做验证的注解:

@Null
限制值为null

@NotNull
限制值不为null

@NotEmpty
验证字符串长度不为0、集合大小不为0

@NotBlank
验证不为null、去除首位空格后长度为0,不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

至于NotNull与NotBlank以及NotEmpty大家自行baidu

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

@AssertFalse
限制必须为false

@AssertTrue
限制必须为true

@DecimalMax(value)
限制必须为一个不大于指定值的数字

@DecimalMin(value)
限制必须为一个不小于指定值的数字

@Digits(integer,fraction)
限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

@Future
限制必须是一个将来的日期

@Max(value)
限制必须为一个不大于指定值的数字

@Min(value)
限制必须为一个不小于指定值的数字

@Past
限制必须是一个过去的日期

@Pattern(value)
限制必须符合指定的正则表达式

@Size(max,min)
限制字符长度必须在min到max之间

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


@valid是javax的,@validated是spring框架的,但是大同小异。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那山川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值