# validation-plus
**Repository Path**: toweringx/validation-plus
## Basic Information
- **Project Name**: validation-plus
- **Description**: 扩展validation
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2024-12-31
- **Last Updated**: 2024-12-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# validation-plus
#### 介绍
扩展validation增加按条件参数校验
#### 软件架构
软件架构说明
#### 安装教程
```java
com.zhaochao
validation-plus
1.0.0
```
#### 使用说明
- 添加`@EnableCondition`开启validation-plus
- 添加`@NotNullOn`、`@AssertTrueOn`等注解
- 添加`on = "#noticeType==0"` el表达式
```java
@Data
@EnableCondition
public class UserNotice {
@NotNull(message = "通知类型不能为空 0-短信 1-邮件")
private Integer noticeType;
@NotNullOn(on = "#noticeType==0", message = "手机号码不能为空")
private String userMobile;
@NotNullOn(on = "#noticeType==1", message = "邮箱不能为空")
private String userEmail;
@AssertTrueOn(on = "#noticeType==0", message = "必须是男生")
private Boolean isBoy;
}
```
编写测试接口:
```java
@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {
@PostMapping("/notice")
public Map save(@RequestBody @Valid UserNotice user) {
return Map.of("code", 0, "data", user);
}
}
```
测试接口:
```java
POST http://localhost/user/notice
Content-Type: application/json
{
"noticeType":0,
"userMobile":"18093493432",
"isBoy":false
}
```
返回:
```java
{
"code": 500,
"message": "必须是男生"
}
```