⛑️入参验证
> 接口参数的验证,基于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地址
@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注解使用
自定义正则
java使用时请去掉 前后 使用 eg: ( javascript )/^/(?:[^/]+/)[^/]+$/=> ( java ) ^/(?:[^/]+/)[^/]+$
Last updated