Commit Graph

139 Commits

Author SHA1 Message Date
821f43d154 docs: 更新 README.md
- 更新项目介绍
- 添加“快速参考”,完善示例
2026-05-27 16:28:36 +08:00
4a604a64c4 chore: 更改 plusone-commons 依赖版本
开发分支项目版本和使用的 plusone-commons 都保持为最新的 SNAPSHOT 版本
2026-05-27 11:35:28 +08:00
9aa510820d fix: 修复 ObjectPropertyValidator 泛型类型定义
- 修改 `ObjectPropertyValidator` 构造函数中的泛型参数定义
- 将 `Function<T, TProperty>` 改为 `Function<T, ? extends TProperty>`
- 解决了泛型类型不匹配的问题,提高了类型安全性
2026-05-27 11:20:34 +08:00
98a7ed573b fix: MapValidator#validateAndCopy 添加 merge function
Collectors.toMap 使用 (v1, v2) -> v2 作为 merge function,这在正常情况下不会触发(因为是同一个 entry set 流),是安全的防御性编程。
2026-05-27 11:19:15 +08:00
f3c173818c fix: 修复双精度数值验证器中的格式化字符串问题 2026-05-27 11:16:18 +08:00
fdabd29347 fix: 修复数组和集合的 allMatch 校验方法对空值的处理
- 在 `ArrayPropertyValidator` 的 `allMatch` 方法中添加空值检查,当数组为空或 `null` 时直接返回
- 在 `CollectionPropertyValidator` 的 `allMatch` 方法中添加空值检查,当集合为空或 `null` 时直接返回
- 更新相关方法的文档注释,说明 `null` 值被视为通过校验
- 添加针对空数组、空集合和 `null` 值的测试用例
- 确保只有非空情况才会执行元素匹配校验逻辑
2026-05-27 11:15:32 +08:00
e22a95861d docs: 更新 BasePropertyValidator 类的 Javadoc 文档
- 为 `equal` 和 `notEqual` 方法添加 `null` 值处理说明,明确当值为 `null` 时视为通过
- 在所有相关方法中添加 `notNull()` 方法的引用提示
2026-05-27 11:09:54 +08:00
edeaec85da build: 保持开发分支的版本后缀标识为 SNAPSHOT 2025-08-21 19:58:18 +08:00
5705686375 fix: 修复 ruleForComparable 无法指定具体类型参数的 BUG (plusone/plusone-validator#19 from gitea)
更新 `BaseComparablePropertyValidator`、`ComparablePropertyValidator`、`BaseValidator` 和 `MapValidator` 中关于 `Comparable` 和 `Range` 的泛型定义

fixes plusone/plusone-validator#14 (gitea)

Co-authored-by: ZhouXY108 <luquanlion@outlook.com>
Co-committed-by: ZhouXY108 <luquanlion@outlook.com>
2025-07-25 17:39:03 +08:00
5b5d7b50d6 docs: 更新示例 (plusone/plusone-validator#18 from gitea)
Co-authored-by: ZhouXY108 <luquanlion@outlook.com>
Co-committed-by: ZhouXY108 <luquanlion@outlook.com>
2025-07-25 17:34:19 +08:00
aad5b6b4fe build: 统一管理依赖版本 (plusone/plusone-validator#17 from gitea)
Co-authored-by: ZhouXY108 <luquanlion@outlook.com>
Co-committed-by: ZhouXY108 <luquanlion@outlook.com>
2025-07-25 17:33:09 +08:00
75a3c7798a chore: 修改 author 信息 (plusone/plusone-validator#16 from gitea)
Co-authored-by: ZhouXY108 <luquanlion@outlook.com>
Co-committed-by: ZhouXY108 <luquanlion@outlook.com>
2025-07-25 17:32:15 +08:00
7d0a25144b chore: 更新项目 URL (plusone/plusone-validator#15 from gitea)
项目 URL 更新为 http://gitea.zhouxy.xyz/plusone/plusone-validator

Co-authored-by: ZhouXY108 <luquanlion@outlook.com>
Co-committed-by: ZhouXY108 <luquanlion@outlook.com>
2025-07-25 17:30:56 +08:00
2977c9a7fb refactor!: 优化二元组校验的 API 设计 1.0.0-RC2 2025-07-25 10:57:47 +08:00
09d596b599 feat: 重载 BaseValidator#ruleForPair
- 重载 BaseValidator#ruleForPair,允许传入两个 Function,用于分别从目标对象中获取两个属性
- 升级项目版本至 1.0.0-RC2
2025-07-14 09:43:13 +08:00
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
1.0.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
12a5740dd6 refactor: 重构 BasePropertyValidator 中 equal 和 notEqual 方法的参数命名 2025-06-08 04:38:52 +08:00
654ecd8c63 docs: 更新文档注释 2025-06-08 04:34:08 +08:00
8b63eb6fe4 chore: 删除 IDE 的配置 2025-06-05 10:41:05 +08:00
62f7a9b03b refactor!: 将 matchesOne 方法重命名为 matchesAny
修改了 StringPropertyValidator 类中的 matchesOne 方法,将其重命名为 matchesAny。
2025-06-04 17:15:22 +08:00
e79d8e9ec8 refactor: 重构属性校验器 2025-06-04 01:30:51 +08:00
7f4f5748f8 feat(validator): 添加 notEqual 校验方法并优化 equalTo
- 新增 `notEqual` 校验方法,用于判断属性值不等于给定值。
- 优化 `equalTo` 方法的空值判断逻辑,当属性值为空时不进行校验。
2025-06-01 20:35:41 +08:00
88b3226b17 feat: 添加数组长度和集合大小的校验功能
- 在 ArrayPropertyValidator 中添加了 length 方法,用于校验数组长度。
- 在 CollectionPropertyValidator 中添加了 size 方法,用于校验集合大小。
2025-06-01 20:18:36 +08:00
0a83116e81 refactor: 将方法调用与返回语句合并,简化了代码结构 2025-06-01 20:16:42 +08:00
907d883be8 feat: 添加数组属性校验器
- 新增 `ArrayPropertyValidator` 类,提供针对数组类型的属性校验功能。
- 在 `BaseValidator` 中添加 `ruleForArray` 方法,用于创建数组属性校验器。
2025-06-01 19:00:10 +08:00
7a9e15fd45 refactor: 优化集合属性校验器
- 更新类注释
- 优化 allMatch 方法的实现,使用 forEach 替代 stream().forEach()
2025-06-01 18:57:58 +08:00
b29e1e07aa feat: 为 CollectionPropertyValidator 添加 allMatch 方法
- 新增 allMatch 方法,用于校验集合中的所有元素是否满足指定条件。支持自定义异常信息和异常类型。
- 添加相关单元测试用例。
2025-06-01 18:10:36 +08:00
3f23d5383d refactor: 默认使用 SimpleImmutableEntry 作为二元组
- 在 `MapValidator` 类中,将 `SimpleEntry` 替换为 `SimpleImmutableEntry`,作为二元组的默认实现。
- 在 `PairPropertyValidatorTests` 类中,做同样的替换。
2025-06-01 08:56:00 +08:00
c27525a637 test: 修改测试用例以覆盖 BaseValidator#ruleFor 2025-06-01 08:48:23 +08:00
3ef2ebac2f feat: 添加二元组属性校验支持
- 新增 `PairPropertyValidator` 类,用于校验二元组属性
- 在 `BaseValidator` 和 `MapValidator` 中添加对二元组校验器的支持
- 添加相关单元测试
2025-06-01 08:46:13 +08:00
8be8be8f17 chore: 更新 README 中的示例 2025-06-01 06:48:30 +08:00
5603b72897 chore: 更新 README 中的许可证链接 2025-06-01 06:11:59 +08:00
2ac8e39387 chore: 添加 README 2025-06-01 06:01:06 +08:00
3b9a224e72 refactor: 修改 MapValidator#ruleFor 的泛型以支持使用具体类型的规则 2025-06-01 05:42:10 +08:00
44ea11e0e9 refactor!: 删除 BasePropertyValidator 多余的 withRule 方法 2025-06-01 05:40:30 +08:00
2d769fde26 refactor!: 校验不通过时默认抛出 ValidationException 而不是 IllegalArgumentException
- 新增 `ValidationException`
- 校验不通过时默认抛出 `ValidationException` 而不是 `IllegalArgumentException`
- 更新了相关的测试用例
2025-06-01 02:58:12 +08:00
a4d91dde35 docs: 完善文档注释 2025-05-29 02:45:58 +08:00
9f0c7cd2fb refactor: 新增 IValidator 接口
- 让 BaseValidator 继承自 IValidator 接口
- 更新相关测试用例中的类型引用
2025-05-28 23:09:52 +08:00
0a5dbd9f53 refactor!: 删除意义不大的 Validator 2025-05-28 23:06:48 +08:00
2d6ead8417 docs: 更改 @author 信息 2025-05-28 22:04:55 +08:00
0e9dbf9bd9 refactor!: BasePropertyValidatorequalsThat 重命名为 equalTo 2025-05-28 14:30:06 +08:00
f21e9727fa refactor!: 修改异常信息 2025-05-28 14:28:09 +08:00
33fb20590b chore: 补充 copyright 声明 2025-05-28 14:27:28 +08:00
08ebfc7d4b docs: 删除关于 ValidTools 的描述 2025-05-28 14:26:12 +08:00
41ccb652d4 feat: 重载 ruleFor
通过自定义函数式接口,使 lambda 表达式作为入参时,可以进入不同的重载版本,从而返回不同类型属性的校验器。
2025-05-28 09:41:02 +08:00
37f4af67cd feat: 添加 MapValidator#ruleForComparable 2025-05-28 09:40:00 +08:00