5 Commits

Author SHA1 Message Date
b3ef6deebe release: 1.0.0-RC1
- 将 plusone-validator-parent 版本从 1.0.0-SNAPSHOT 更新为 1.0.0-RC1
- 将 plusone-commons 依赖版本从 1.1.0-SNAPSHOT 更新为 1.1.0-RC1
- 将 plusone-dependencies 依赖版本从 1.1.0-SNAPSHOT 更新为 1.1.0-RC1
2025-06-08 14:19:53 +08:00
f86232c404 docs: 修改 javadoc 中的格式错误 2025-06-08 13:09:44 +08:00
d0785d35e8 docs: 更新项目描述 2025-06-08 11:34:31 +08:00
a315edf88f docs: 统一参数描述 2025-06-08 11:34:15 +08:00
b6d47f0d00 refactor: 重构 MapValidator 的测试代码 2025-06-08 04:49:30 +08:00
6 changed files with 17 additions and 15 deletions

View File

@@ -8,7 +8,7 @@
<parent> <parent>
<groupId>xyz.zhouxy.plusone</groupId> <groupId>xyz.zhouxy.plusone</groupId>
<artifactId>plusone-validator-parent</artifactId> <artifactId>plusone-validator-parent</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-RC1</version>
</parent> </parent>
<artifactId>plusone-validator</artifactId> <artifactId>plusone-validator</artifactId>
@@ -16,7 +16,7 @@
<url>http://zhouxy.xyz</url> <url>http://zhouxy.xyz</url>
<description> <description>
Plusone Validator 是一个校验库,用于构建校验规则对对象尤其是入参进行校验。API 参考自 .NET 的 FluentValidation Plusone Validator 是一个校验库,使用 lambda 表达式(包括方法引用)和流式 API 构建校验规则对对象进行校验
</description> </description>
<properties> <properties>
@@ -29,7 +29,7 @@
<dependency> <dependency>
<groupId>xyz.zhouxy.plusone</groupId> <groupId>xyz.zhouxy.plusone</groupId>
<artifactId>plusone-commons</artifactId> <artifactId>plusone-commons</artifactId>
<version>1.1.0-SNAPSHOT</version> <version>1.1.0-RC1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.junit.jupiter</groupId> <groupId>org.junit.jupiter</groupId>

View File

@@ -82,7 +82,7 @@ public abstract class BaseComparablePropertyValidator<
* *
* @param <X> 自定义异常类型 * @param <X> 自定义异常类型
* @param range 区间 * @param range 区间
* @param exceptionFunction 根据属性值生成异常的函数 * @param exceptionFunction 自定义异常
* @return 当前校验器实例,用于链式调用 * @return 当前校验器实例,用于链式调用
*/ */
public final <X extends RuntimeException> TPropertyValidator inRange( public final <X extends RuntimeException> TPropertyValidator inRange(

View File

@@ -108,7 +108,7 @@ public abstract class BasePropertyValidator<
* *
* @param <X> 自定义异常类型 * @param <X> 自定义异常类型
* @param condition 校验条件 * @param condition 校验条件
* @param exceptionFunction 自定义异常(以当前属性值为参数) * @param exceptionFunction 自定义异常
* @return 当前校验器实例,用于链式调用 * @return 当前校验器实例,用于链式调用
*/ */
protected final <X extends RuntimeException> TPropertyValidator withRule( protected final <X extends RuntimeException> TPropertyValidator withRule(

View File

@@ -23,7 +23,6 @@ import java.util.function.Function;
* *
* @param <T> 待校验对象的类型 * @param <T> 待校验对象的类型
* @param <TProperty> 待校验属性的类型,必须实现 {@code Comparable} 接口 * @param <TProperty> 待校验属性的类型,必须实现 {@code Comparable} 接口
* @param <TPropertyValidator> 具体校验器类型,用于支持链式调用
* @see com.google.common.collect.Range * @see com.google.common.collect.Range
* @author ZhouXY * @author ZhouXY
*/ */

View File

@@ -19,6 +19,7 @@ package xyz.zhouxy.plusone.map.validator;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -58,7 +59,7 @@ class MapValidatorTests {
params.put(ParamsValidator.STRING_PROPERTY2, "Foo"); params.put(ParamsValidator.STRING_PROPERTY2, "Foo");
assertAll(() -> { assertAll(() -> {
Map<String, Object> validatedParams = validator.validateAndCopy(params); Map<String, Object> validatedParams = validator.validateAndCopy(params);
assertEquals(ParamsValidator.keySet(), validatedParams.keySet()); assertEquals(ImmutableSet.copyOf(ParamsValidator.reservedProperties()), validatedParams.keySet());
assertEquals(true, validatedParams.get(ParamsValidator.BOOL_PROPERTY)); assertEquals(true, validatedParams.get(ParamsValidator.BOOL_PROPERTY));
assertEquals(Integer.MAX_VALUE, validatedParams.get(ParamsValidator.INT_PROPERTY)); assertEquals(Integer.MAX_VALUE, validatedParams.get(ParamsValidator.INT_PROPERTY));
@@ -103,11 +104,14 @@ class ParamsValidator extends MapValidator<String, Object> {
public static final String OBJECT_PROPERTY = "objectProperty"; public static final String OBJECT_PROPERTY = "objectProperty";
public static final String STRING_LIST_PROPERTY = "stringListProperty"; public static final String STRING_LIST_PROPERTY = "stringListProperty";
private static final String[] RESERVED_PROPERTIES = {
BOOL_PROPERTY, INT_PROPERTY, LONG_PROPERTY, DOUBLE_PROPERTY, STRING_PROPERTY,
DATE_TIME_PROPERTY, OBJECT_PROPERTY, STRING_LIST_PROPERTY };
public static final ParamsValidator INSTANCE = new ParamsValidator(); public static final ParamsValidator INSTANCE = new ParamsValidator();
private ParamsValidator() { private ParamsValidator() {
super(new String[] { BOOL_PROPERTY, INT_PROPERTY, LONG_PROPERTY, DOUBLE_PROPERTY, STRING_PROPERTY, super(RESERVED_PROPERTIES);
DATE_TIME_PROPERTY, OBJECT_PROPERTY, STRING_LIST_PROPERTY });
ruleForBool(BOOL_PROPERTY) ruleForBool(BOOL_PROPERTY)
.notNull(); .notNull();
ruleForInt(INT_PROPERTY) ruleForInt(INT_PROPERTY)
@@ -130,8 +134,7 @@ class ParamsValidator extends MapValidator<String, Object> {
"'stringProperty' must be equal to 'stringProperty2'."); "'stringProperty' must be equal to 'stringProperty2'.");
} }
public static Set<String> keySet() { public static String[] reservedProperties() {
return ImmutableSet.of(BOOL_PROPERTY, INT_PROPERTY, LONG_PROPERTY, DOUBLE_PROPERTY, STRING_PROPERTY, return Arrays.copyOf(RESERVED_PROPERTIES, RESERVED_PROPERTIES.length);
DATE_TIME_PROPERTY, OBJECT_PROPERTY, STRING_LIST_PROPERTY);
} }
} }

View File

@@ -6,7 +6,7 @@
<groupId>xyz.zhouxy.plusone</groupId> <groupId>xyz.zhouxy.plusone</groupId>
<artifactId>plusone-validator-parent</artifactId> <artifactId>plusone-validator-parent</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-RC1</version>
<name>plusone-validator-parent</name> <name>plusone-validator-parent</name>
<url>http://zhouxy.xyz</url> <url>http://zhouxy.xyz</url>
@@ -18,7 +18,7 @@
</modules> </modules>
<description> <description>
Plusone Validator 是一个校验库,用于构建校验规则对对象尤其是入参进行校验。API 参考自 .NET 的 FluentValidation Plusone Validator 是一个校验库,使用 lambda 表达式(包括方法引用)和流式 API 构建校验规则对对象进行校验
</description> </description>
<properties> <properties>
@@ -30,7 +30,7 @@
<dependency> <dependency>
<groupId>xyz.zhouxy.plusone</groupId> <groupId>xyz.zhouxy.plusone</groupId>
<artifactId>plusone-dependencies</artifactId> <artifactId>plusone-dependencies</artifactId>
<version>1.1.0-SNAPSHOT</version> <version>1.1.0-RC1</version>
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>