j | 惊 蛰无声
2026/5/27 10:16:28
在Java 开发中,数据校验是保证系统健壮性和数据完整性的重要环节。`validation-api`和`hibernate-validator`功能强大,在这个基础上,做了一些检验简单扩展处理,在处理复杂业务场景时提供一些支持。
`brilliant-validation`是一个基于Java validation-api和hibernate-validator的扩展库,通过引入AviatorScript 表达式引擎,实现了多字段关系校验,同时提供了一些单字段校验注解,让数据校验方便。
项目地址
传统校验只能处理单个字段的规则,`brilliant-validation`支持使用AviatorScript表达式进行多字段之间的逻辑关系校验。
内置了常用的单字段校验注解,如社会信用代码、身份证号、车牌号等。
添加依赖
> **版本说明**:
> - 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>示例测试项目地址
@Phone(message = "手机号不正确") private String mobile;@RelationCheck(expr = "password == confirmPassword", message = "两次密码不一致") public class InfoDTO implements Serializable { private String password; private String confirmPassword; }@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; }