相信技术的力量

Hibernate-validator表单校验器

常用注解

JSR提供的校验注解

@Null   被注释的元素必须为 null    
@NotNull    被注释的元素必须不为 null    
@AssertTrue     被注释的元素必须为 true    
@AssertFalse    被注释的元素必须为 false    
@Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值    
@Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值    
@DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值    
@DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值    
@Size(max=, min=)   被注释的元素的长度必须在指定的范围内(适用于array, collection, map的校验)    
@Digits (integer, fraction)     被注释的元素必须是一个数字,其值必须在可接受的范围内    
@Past   被注释的元素必须是一个过去的日期    
@Future     被注释的元素必须是一个将来的日期    
@Pattern(regex=,flag=)  被注释的元素必须符合指定的正则表达式

Hibernate Validator提供的校验注解

@NotBlank(message =)   验证字符串非null,且长度必须大于0    
@Email  被注释的元素必须是电子邮箱地址    
@Length(min=,max=)  被注释的元素的长度必须在指定的范围内    
@NotEmpty   被注释的字符串的必须非空    
@Range(min=,max=,message=)  被注释的数值的大小必须在合适的范围内(适用于int类型的校验)

使用示例

// 非空判断
@NotNull(message = "id不能为空")
private Long id;

@Future(message = "需要一个将来日期") // 只能是将来的日期
// @Past //只能去过去的日期
@DateTimeFormat(pattern = "yyyy-MM-dd") // 日期格式化转换
@NotNull // 不能为空
private Date date;

@NotNull // 不能为空
@DecimalMin(value = "0.1") // 最小值0.1元
@DecimalMax(value = "10000.00") // 最大值10000元
private Double doubleValue = null;

@Min(value = 1, message = "最小值为1") // 最小值为1
@Max(value = 88, message = "最大值为88") // 最大值88
@NotNull // 不能为空
private Integer integer;

@Range(min = 1, max = 888, message = "范围为1至888") // 限定范围
private Long range;

// 邮箱验证
@Email(message = "邮箱格式错误")
private String email;

@Size(min = 20, max = 30, message = "字符串长度要求20到30之间。")
private String size;

分组校验

同一个对象,在不同的场景下,可能校验的参数不一样,此时可以对单个属性设置分组,进行分组校验。

参考:

https://blog.csdn.net/weixin_37509652/article/details/80676693

⬆️