Springboot使用validator进行参数校验

添加数据效验

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
<dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.0.15.Final</version>
 </dependency>

单字段效验

  • 添加效验注解
@Data
public class Users {
   
    private int id;

    @NotBlank(message="用户名不能为空")
    @Length(min = 1, max = 20, message = "用户名长度需要在20个字以内")
    private String name;

    @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")
    private String phone;

    @Pattern(regexp="^[0-9]{4}-[0-9]{2}-[0-9]{2}$",message="出生日期格式不正确")
    private String birthday;

    @Email(message="请输入正确的邮箱")
    private String email;

    @Size(min = 1, max = 5)
    private List<String> strings;
}
  • 其他常用的注解
注解 说明
@Range(min=最小值, max=最大值) 验证注解的元素值在最小值和最大值之间
@Min(value=值) 验证注解的元素值大于等于@Min指定的value值
@Max(value=值) 验证注解的元素值小于等于@Max指定的value值
@Past 验证注解的元素值(日期类型)比当前时间早
@Future 验证注解的元素值(日期类型)比当前时间晚
@AssertFalse 可以为null,如果不为null的话必须为false
@AssertTrue 可以为null,如果不为null的话必须为true
@Digits 设置必须是数字且数字整数的位数和小数的位数必须在指定范围内

级联效验

带校验的成员里存在级联对象时,也进行校验

@Data
public class Users {
   
	@Valid
    private Collections collections;
}

分组效验与组序列

分组效验:将实体类的属性进行分组,标记后,在进行效验时,可以指定分组进行效验
组序列:指定分组执行效验的顺序,Default.class为默认分组

/****新增时,需要效验的字段分组****/
public interface AddGroup {
   }
/****更新时,需要效验的字段分组****/
public interface UpdateGroup {
   }


@Data
public class Collections {
   
    @NotBlank(message="修改时,id不能为空!",groups = UpdateGroup.class)
    private int id;
    @NotBlank(message="新增时,name不能为空!"
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小妖云汐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值