⛑️入参验证

> 接口参数的验证,基于javax.validation的拓展

常用注解如下

自定义验证如下

需要判断的格式
备注

国内身份证

一二代

国内手机号

严谨(根据工信部2019年最新公布的手机号段)

中文姓名

最少2位数,最大16位,少数民族需要断开的用点,eg:阿不都热依木.阿布都热依木

帐号

字母开头,允许5-16字节,允许字母数字下划线组合

密码强度

最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

时间格式

yyyy-MM-dd HH:mm:ss(会判断闰年)

官方验证有下

注解名称
功能

@Null

检查该字段为空

@NotNull

不能为null

@NotBlank

不能为空,常用于检查空字符串

@NotEmpty

不能为空,多用于检测list是否size是0

@Max

可用于数字和字符串(字符串必须为数值型),其值必须小于等于指定的最大值

@Min

可用于数字和字符串(字符串必须为数值型),其值必须大于等于指定的最小值

@Past

检查该字段的日期是在过去

@Future

检查该字段的日期是否是属于将来的日期

@Email

检查是否是一个有效的email地址

@Pattern(regex=,flag=)

被注释的元素必须符合指定的正则表达式

@Range(min=,max=,message=)

被注释的元素必须在合适的范围内

@Size(min=, max=)

检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等

@Length(min=,max=)

检查所属的字段的长度是否在min和max之间,只能用于字符串

@AssertTrue

用于boolean字段,该字段只能为true

@AssertFalse

该字段的值只能为false

依赖

应用

不会对参数进行判空,若要进行判空请配合 @NotBlank注解使用

自定义正则

  1. 正则大全

    1. java使用时请去掉 前后 使用 eg: ( javascript )/^/(?:[^/]+/)[^/]+$/=> ( java ) ^/(?:[^/]+/)[^/]+$

Last updated