# brilliant-validation
**Repository Path**: spectra/brilliant-validation
## Basic Information
- **Project Name**: brilliant-validation
- **Description**: `brilliant-validation` 是一个 基于 jakarta.validation-api、hibernate-validator 的简单扩展-多字段关系校验。
- **Primary Language**: Java
- **License**: MulanPSL-2.0
- **Default Branch**: jakarta
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-09
- **Last Updated**: 2025-12-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# brilliant-validation
`brilliant-validation` 是一个 基于 jakarta.validation-api、hibernate-validator 的简单扩展。
----------------------------------------
## 🚀 特性介绍
1. 基于 [Aviator](https://github.com/killme2008/aviatorscript) 多字段关系校验
2. 一些单字段校验,如 社会信用代码、身份证等
## 💎 Dependency
> javax: 对应版本 2025.0.x
> jakarta: 对应版本 2025.1.x
```xml
top.hjjcgzlafr
brilliant-validation-bom
{version}
pom
import
```
```xml
top.hjjcgzlafr
brilliant-validation-validator
```
## 🎁 用法介绍
### 1️⃣ 注解列表
#### 单字段校验注解
- @ByteSize
- @CreditCode
- @IdentityCard
- @LicensePlate
- @Phone
- ...
#### 多字段关系校验注解
- @RelationCheck
- @RelationChecks
### 2️⃣ 使用示例
#### 1. 手机号不正确
```java
@Phone(message = "手机号不正确")
private String mobile;
```
#### 2. 多字段判断1
```java
@RelationCheck(expr = "password == confirmPassword", message = "两次密码不一致")
public class InfoDTO implements Serializable {
private String password;
private String confirmPassword;
}
```
#### 3. 多字段判断2
```java
@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;
}
```
Aviator 支持的语法(适合多字段校验)。
## 📦 Links
* [AviatorScript 文档](https://www.yuque.com/boyan-avfmj/aviatorscript)