news 2026/6/10 13:26:17

基于 (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/6 2:09:10

策知道深度解析2025政府工作报告中的产业词频

1. 引言&#xff1a;洞察2025——政府工作报告中的产业新风向 政府工作报告是国家和地方经济社会发展的纲领性文件&#xff0c;其内容导向对产业发展具有显著的指引作用。通过对报告中高频出现的产业词汇进行深度分析&#xff0c;我们可以直观地洞察政策重心、预判产业趋势。本…

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

Qwen3-VL-8B支持Docker部署的完整指南

Qwen3-VL-8B 支持 Docker 部署的完整指南 &#x1f433;&#x1f4e6; 在智能应用日益依赖视觉理解能力的今天&#xff0c;一个现实问题始终困扰着开发者&#xff1a;为什么模型在本地跑得好好的&#xff0c;一上服务器就“显存爆炸”或“环境错乱”&#xff1f; 你不是一个人…

作者头像 李华
网站建设 2026/6/9 2:57:01

YOLO模型为何需要大模型Token支持?真相揭秘

YOLO模型为何需要大模型Token支持&#xff1f;真相揭秘 在智能工厂的监控中心&#xff0c;摄像头实时捕捉着流水线上的每一个动作。系统不仅要识别“工人”和“安全帽”&#xff0c;还要判断&#xff1a;“这位员工是否按规定佩戴了防护装备&#xff1f;”——这看似简单的问题…

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

腾讯开源HunyuanVideo-Foley:实现声画合一的AI音效革命

腾讯开源HunyuanVideo-Foley&#xff1a;让AI真正“听懂”画面 你有没有过这样的体验&#xff1f;一段AI生成的视频&#xff0c;画面流畅、细节丰富&#xff0c;可一旦播放&#xff0c;却像被抽走了灵魂——没有脚步踩在湿滑地砖上的回响&#xff0c;没有风吹过树林时树叶的沙…

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

基于深度学习的犬种识别系统详解(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)

摘要 随着计算机视觉技术的快速发展,基于深度学习的图像识别系统在各个领域得到了广泛应用。本文详细介绍了一个完整的犬种识别系统,该系统集成了YOLOv5、YOLOv8和YOLOv10等多种先进的YOLO(You Only Look Once)目标检测算法,并配备了友好的用户界面。我们将从系统架构设计…

作者头像 李华
网站建设 2026/6/9 7:53:01

基于深度学习的无人机目标检测系统(UI界面+YOLOv8/v7/v6/v5代码+训练数据集)

引言 随着无人机技术的飞速发展和广泛应用,无人机目标检测已成为计算机视觉领域的重要研究方向。无论是军事侦察、灾害救援、农业监测还是交通管理,准确快速地检测和识别无人机目标都具有重要意义。传统的目标检测方法在处理复杂背景、小目标和实时性要求方面存在局限,而基…

作者头像 李华