SpringBoot之Hibernate-Validator数据校验
SpringBoot之Hibernate-Validator数据校验
SpringBoot之Hibernate-Validator数据校验。验证数据是贯穿所有应用程序层(从表示层到持久层)的常见任务。通常在每个层中实现相同的验证逻辑,这是耗时且容易出错的。为了避免重复这些验证,开发人员通常将验证逻辑直接绑定到域模型中,用验证代码将域类弄乱,而验证代码实际上是关于类本身的元数据。官方参考文档:点我跳转
1.新版本的SpringBoot需要手动引入依赖,这里以SpringBoot2.6.7为例子引入,在pom.xml
中
1 | <!--Hibernate-Validator 数据校验--> |
2.在实体类中使用,给字段加上Hibernate-Validator校验注解。
1 | public class ClassesTypeEntity implements Serializable { |
3.因为使用的分组约束,需创建一个分组类
1 | public interface AddGroup { |
4.为了方便使用,创建一个校验工具类
1 | /** |
5.使用方法
1 | //数据校验 |
一些常用的注解
注解 | 作用类型 | 说明 |
---|---|---|
字符串 | 被注释的元素必须是电子邮箱地址 | |
@Length(min=,max=) | 字符串 | 被注释的字符串的大小必须在指定的范围内,min 代表最小,max代表最大 |
@NotEmpty | 字符串 | 被注释的字符串必须非空 |
@NotBlank(message =) | 字符串 | 验证字符串非null,且长度必须大于0 |
@NotEmptyPattern | 字符串 | 在字符串不为空的情况下,是否匹配正则表达式 |
@DateValidator | 字符串 | 验证日期格式是否满足正则表达式,Local为英语 |
@DateFormatCheckPattern | 字符串 | 验证日期格式是否满足正则表达式,Local是自己手动指定的 |
@Range(min=,max=,message=) | 字符串、数值类型、字节等 | 被注释的元素必须在合适的范围内 |
@NotNull | 任意 | 被注释的元素必须为null |
@AssertTrue | 布尔值 | 被注释的元素必须为true |
@AssertFalse | 布尔值 | 被注释的元素必须为false |
@Min(value) | 数字 | 被注释的元素必须是一个数字,且大于或等于指定的最小值 |
@Max(value) | 数字 | 被注释的元素必须是一个数字,且小于或等于指定的最大值 |
@DecimalMin(value) | 数字 | 被注释的元素必须是一个数字,且大于或等于指定的最小值 |
@DecimalMax(value) | 数字 | 被注释的元素必须是一个数字,且小于或等于指定的最大值 |
@Size(max=, min=) | 数字 | 被注释的元素必须是一个数字,min代表最小,max代表最大 |
@Digits (integer, fraction) | 数字 | 被注释的元素必须是一个数字,且在可接收的范围内 |
@Past | 日期 | 被注释的元素必须是一个过去的日期 |
本博客所有文章均采用 CC BY-NC-SA 4.0 许可协议。转载不强制要求注明 个人学习记录! 你可以对本文章进行复制、分发、修改、合并、销售、出版、再授权或任何其它操作,但造成的后果请使用者自行承当!作者不承担任何责任!