# 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": "必须是男生" } ```