SpringBoot如何校验yue-library框架
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍SpringBoot如何校验yue-library框架,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。validator轻量级服务端校验框架支持注解、功能齐全、使
千家信息网最后更新 2026年11月02日SpringBoot如何校验yue-library框架
这篇文章给大家介绍SpringBoot如何校验yue-library框架,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
validator
轻量级服务端校验框架
支持注解、功能齐全、使用简便
一、功能简介
主要提供便捷的后台数据校验功能,支持单个字段或参数校验,也支持通过注解校验对象,用法简单。
提供基本的非空、长度、大小等校验方法,也提供一些特殊的正则校验、身份证、电话、邮箱、IP等校验方法。
二、注解介绍
@Valid 被注解的元素是一个POJO对象,用于检查此对象的所有被注解字段的值是否符合预期
Bean Validation 中内置的 constraint
| 注解 | 作用 |
|---|---|
| @Null | 被注解的元素必须为 null |
| @NotNull | 被注解的元素必须不为 null |
| @NotBlank | 被注解的元素必须不为空,并且必须包含至少一个非空白字符 |
| @NotEmpty | 被注解的元素必须非空 |
| @AssertTrue | 被注解的元素必须为 true |
| @AssertFalse | 被注解的元素必须为 false |
| @Max | 被注解的元素必须是一个数字,其值必须小于等于指定的最大值 |
| @Min | 被注解的元素必须是一个数字,其值必须大于等于指定的最小值 |
| @DecimalMax | 被注解的元素必须是一个数字,其值必须小于等于指定的最大值 |
| @DecimalMin | 被注解的元素必须是一个数字,其值必须大于等于指定的最小值 |
| @Digits | 被注解的元素必须是一个数字,其值必须在可接受的范围内 |
| @Positive | 被注解的元素必须是严格意义上的正数 |
| @PositiveOrZero | 被注解的元素必须是正数或0 |
| @Negative | 被注解的元素必须是一个严格意义上的负数 |
| @NegativeOrZero | 被注解的元素必须是负数或0 |
| @Past | 被注解的元素必须是过去的某个瞬间、日期或时间 |
| @PastOrPresent | 被注解的元素必须是过去或现在的某个瞬间、日期或时间 |
| @Future | 被注解的元素必须是将来的某个瞬间、日期或时间。 |
| @FutureOrPresent | 被注解的元素必须是当前或将来的某个瞬间、日期或时间。 |
| @Size | 被注解的元素的大小必须在指定的范围内 |
| 被注解的元素必须是电子邮箱地址 | |
| @Pattern | 被注解的元素必须符合指定的正则表达式 |
Hibernate Validator 附加的 constraint
| 注解 | 作用 |
|---|---|
| @Length | 被注解的字符串的大小必须在指定的范围内 |
| @Range | 被注解的元素必须在合适的范围内 |
| @URL | 验证带注解的字符串是否为URL |
| @Currency | 货币金额必须在正确的货币单位 |
| @CreditCardNumber | 带注解的元素必须表示有效的信用卡号 |
| @CodePointLength | 验证包含字符序列的代码点长度在min和max之间 |
| @ConstraintComposition | 布尔运算符,应用于组合约束注解的所有约束 |
| @SafeHtml | 验证用户提供的富文本值,以确保它不包含恶意代码,例如嵌入的元素 |
| @UniqueElements | 验证所提供集合中的每个对象都是惟一的,即不能在集合中找到两个相等的元素 |
| @EAN | 检查带注解的字符序列是否是有效的EAN 13号。验证数字的长度和校验数字 |
| @ISBN | 检查带注解的字符序列是否是有效的ISBN。数字的长度和校验数字都经过验证 |
| @LuhnCheck | Luhn算法检查约束 |
| @Mod10Check | Modulo 10 检查约束 |
| @Mod11Check | Modulo 11 检查约束 |
| @ParameterScriptAssert | 方法级约束,它根据带注解的方法或构造函数计算脚本表达式 |
| @ScriptAssert | 类级约束,它根据带注解的元素计算脚本表达式 |
Yue Validator 附加的 constraint
| 注解 | 作用 |
|---|---|
| @Cellphone | 手机号校验 |
| @IdCard | 身份证校验 |
| @PlateNumber | 中国车牌号校验 |
| @Birthday | 生日校验 |
| @Chinese | 中文校验 |
| @English | 英语校验 |
| @UUID | UUID校验 |
| @IPV4 | IPV4地址校验 |
| @IPV6 | IPV6地址校验 |
| @MacAddress | MAC地址校验 |
三、参数验证
单个参数验证
单个参数验证
// 参数String name = validationIPO.getName();String email = validationIPO.getEmail();String cellphone = validationIPO.getCellphone();int age = validationIPO.getAge();DateTime birthday = validationIPO.getBirthday();// 获得参数校验器-Bean注入import ai.yue.library.base.validation.Validator;@Autowiredprivate Validator validator;// 获得参数校验器-静态方法Validator.getValidatorAndSetParam(email).email("email");// 单个参数校验validator.param(email).email("email");validator.param(cellphone).cellphone("cellphone");validator.param(name).notNull("name").chinese("name").length(1, 30, "name");单个参数校验-通过param()连写(连写直接切换校验对象)
validator.param(name).notNull("name").param(email).length(5, 25, "email").param(age).min(20, "age").max(60, "age");POJO对象校验(推荐)
在类的属性上定义注解,同时支持自定义错误信息
@Datapublic class ValidationIPO { @NotEmpty(message = "姓名不能为空") @Length(max = 20, message = "姓名不能超过20个字") private String name; private DateTime birthday; @IdCard private String idcard; @Max(30) @Min(12) private int age; @Email @Length(max = 50) private String email; @Cellphone private String cellphone; @Pattern(regexp = "[1-9]([0-9]{5,11})") private String qq; }方式一: Controller层,通过注解@Valid校验 (推荐)
@PostMapping("/valid")public Result> valid(@Valid ValidationIPO validationIPO) {方式二: 通过调用validator.valid()方法
validator.valid(validationIPO);// 同样支持连写validator.valid(validationIPO).param(birthday).birthday("birthday");方式三: 将@Valid注解添加到POJO类上
@Data@Validpublic class ValidationIPO { // ...}并在Controller层接收此实体参数
@PostMapping("/valid")public Result> valid(ValidationIPO validationIPO) {校验不通过时处理
校验不通过会抛出ValidateException(运行时异常),ResultExceptionHandler类已默认处理。
错误响应示例:
{ "code": 433, "msg": "参数校验未通过,请参照API核对后重试", "flag": false, "count": null, "data": [ { "errorkey": "cellphone", "errorValue": null, "errorHintMsg": "不是一个合法的手机号码" }, { "errorkey": "idcard", "errorValue": "500223199607125633", "errorHintMsg": "不是一个合法的身份证号码" } ]}关于SpringBoot如何校验yue-library框架就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
注解
元素
参数
数字
验证
字符
对象
方法
检查
单个
支持
地址
日期
时间
范围
长度
框架
有效
作用
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
金融科技还是互联网
互联网金融 金融科技
互联网 的科技创新
南京欣网互联网科技
汇久创客互联网科技
壕鑫互联网络科技
苏州大垚互联网科技
无锡溥仪互联网科技有限公司
科技与互联网的利与弊
中国的互联网科技企业的崛起
福州新华互联网科技学校 知乎
以后互联网后是啥科技
洛阳共同富裕互联网科技有限公司
2021互联网科技公司排名
有人说阿里系是互联网科技企业
西安有哪些互联网高科技企业
陕西九四连强互联网科技有限公司
广东猫王互联网科技有限公司电话
伍佰万互联网科技是干嘛的
互联网科技公司做什么
科技类的互联网平台
太原新华互联网科技学校怎么样
互联网和高科技公司
华夏互联网科技业
山东有哪些互联网科技公司
互联网方面的科技前沿
上海京穆互联网科技有限公司
北京天晋互联网科技有限公司
美国五大互联网科技公司市值多少