news 2026/6/23 15:24:51

基于 (java) validation-api、hibernate-validator 的数据校验扩展

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 (java) validation-api、hibernate-validator 的数据校验扩展

在Java 开发中,数据校验是保证系统健壮性和数据完整性的重要环节。`validation-api`和`hibernate-validator`功能强大,在这个基础上,做了一些检验简单扩展处理,在处理复杂业务场景时提供一些支持。

项目简介

`brilliant-validation`是一个基于Java validation-api和hibernate-validator的扩展库,通过引入AviatorScript 表达式引擎,实现了多字段关系校验,同时提供了一些单字段校验注解,让数据校验方便。

项目地址

✨ 主要功能

1. 基于Aviator的多字段关系校验


传统校验只能处理单个字段的规则,`brilliant-validation`支持使用AviatorScript表达式进行多字段之间的逻辑关系校验。

2. 单字段校验注解


内置了常用的单字段校验注解,如社会信用代码、身份证号、车牌号等。

📦 快速开始

添加依赖

> **版本说明**:
> - javax版本对应:2025.0.x
> - jakarta版本对应:2025.1.x

根据你的项目选择相应版本:

<dependencyManagement> <dependencies> <dependency> <groupId>top.hjjcgzlafr</groupId> <artifactId>brilliant-validation-bom</artifactId> <version>{version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependency> <groupId>top.hjjcgzlafr</groupId> <artifactId>brilliant-validation-validator</artifactId> </dependency>

🎯 使用指南

一、单字段校验注解
  • @ByteSize:字节长度校验
  • @CreditCode:社会信用代码校验
  • @IdentityCard:身份证号校验
  • @LicensePlate:车牌号校验
  • @Phone:手机号校验
二、多字段关系校验注解
  • @RelationCheck:单条关系校验
  • @RelationChecks:多条关系校验

💡 实战示例

示例测试项目地址

示例1:手机号校验
@Phone(message = "手机号不正确") private String mobile;
示例2:密码一致性校验(单条规则)
@RelationCheck(expr = "password == confirmPassword", message = "两次密码不一致") public class InfoDTO implements Serializable { private String password; private String confirmPassword; }
示例3:复杂业务规则校验(多条规则)
@RelationChecks({ @RelationCheck(expr = "password == confirmPassword", message = "两次密码不一致"), @RelationCheck(expr = "username != nil", message = "username不能为空") }) public class InfoDTO implements Serializable { private String password; private String confirmPassword; private String username; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 3:04:58

LobeChat能否助力智慧城市?公共事务处理新方式

LobeChat能否助力智慧城市&#xff1f;公共事务处理新方式 在城市治理日益复杂的今天&#xff0c;市民对政务服务的期待早已不再局限于“能办”&#xff0c;而是追求“好办、快办、随时办”。一个简单的落户咨询&#xff0c;可能需要拨打多个电话、翻阅数个网页&#xff0c;甚至…

作者头像 李华
网站建设 2026/6/23 9:26:35

ACE-Step:让普通人也能生成结构化旋律

ACE-Step&#xff1a;让普通人也能生成结构化旋律 在短视频、在线课程和独立游戏内容爆炸式增长的今天&#xff0c;一个现实问题困扰着无数创作者&#xff1a;如何快速获得一段贴合情绪、结构完整又不“撞车”的背景音乐&#xff1f; 买版权音乐成本高&#xff0c;免费素材库…

作者头像 李华
网站建设 2026/6/23 21:22:23

Yolo系列模型的TensorRT-C++推理实践

Yolo系列模型的TensorRT-C推理实践 在边缘计算设备日益承担复杂视觉任务的今天&#xff0c;如何让YOLO这类目标检测模型跑得更快、更稳、更省资源&#xff0c;已经成为工业落地中的核心命题。尤其是在Jetson Orin、T4服务器等多路视频流并发场景下&#xff0c;Python PyTorch那…

作者头像 李华
网站建设 2026/6/22 23:12:16

Qwen3-VL-30B API调用与部署实战指南

Qwen3-VL-30B API调用与部署实战指南&#xff1a;构建你的视觉智能中枢 &#x1f9e0;&#x1f4f8; 你有没有这样的经历&#xff1f;用户上传一份PDF财报&#xff0c;里面夹着三张柱状图和一张董事会合影&#xff0c;然后问&#xff1a;“今年营收增长主要靠哪个业务&#xff…

作者头像 李华
网站建设 2026/6/22 18:05:10

国内电商智能客服机器人选型指南:主流服务商实测对比与适配建议

着电商行业进入精细化运营深水区&#xff0c;智能客服已从“可选工具”升级为“核心竞争力枢纽”。据艾瑞咨询数据显示&#xff0c;国内电商行业智能客服渗透率已超75%&#xff0c;人力成本年均涨幅超8%、平台响应时效考核收紧等因素&#xff0c;让越来越多商家将智能客服选型列…

作者头像 李华
网站建设 2026/6/23 19:04:03

Langflow本地部署:快速安装与问题解决

Langflow本地部署&#xff1a;快速安装与问题解决 在 AI 应用开发日益普及的今天&#xff0c;越来越多开发者希望快速验证一个基于大语言模型&#xff08;LLM&#xff09;的想法——比如构建一个智能客服、RAG 检索系统&#xff0c;或者自动化数据处理流程。但直接写代码串联 …

作者头像 李华