diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseComparablePropertyValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseComparablePropertyValidator.java index c2140d7..3e38bc3 100644 --- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseComparablePropertyValidator.java +++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/BaseComparablePropertyValidator.java @@ -25,33 +25,34 @@ public abstract class BaseComparablePropertyValidator, TPropertyValidator extends BaseComparablePropertyValidator> - extends BasePropertyValidator { + extends BasePropertyValidator { BaseComparablePropertyValidator(Function getter) { super(getter); } - public TPropertyValidator between(Range range) { - withRule(range::contains, convertExceptionCreator("The value is not in " + range.toString())); + public TPropertyValidator inRange(Range range) { + withRule(value -> value != null && range.contains(value), + convertExceptionCreator("The value is not in " + range.toString())); return thisObject(); } - public TPropertyValidator between(Range range, String errMsg) { - withRule(range::contains, convertExceptionCreator(errMsg)); + public TPropertyValidator inRange(Range range, String errMsg) { + withRule(value -> value != null && range.contains(value), convertExceptionCreator(errMsg)); return thisObject(); } - public TPropertyValidator between( + public TPropertyValidator inRange( Range range, Supplier exceptionCreator) { - withRule(range::contains, exceptionCreator); + withRule(value -> value != null && range.contains(value), exceptionCreator); return thisObject(); } - public TPropertyValidator between( + public TPropertyValidator inRange( Range range, Function exceptionCreator) { - withRule(range::contains, exceptionCreator); + withRule(value -> value != null && range.contains(value), exceptionCreator); return thisObject(); } diff --git a/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java index 018682d..859ad62 100644 --- a/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java +++ b/plusone-validator/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java @@ -56,11 +56,11 @@ class BaseValidatorTest { ruleForComparable(RegisterCommand::getYearOfBirth) .notNull() - .between(Range.closed(thisYear - 60, thisYear - 18)); + .inRange(Range.closed(thisYear - 60, thisYear - 18)); ruleForInt(RegisterCommand::getYearOfBirth) .notNull() - .between(Range.closed(thisYear - 60, thisYear - 18)); + .inRange(Range.closed(thisYear - 60, thisYear - 18)); withRule(registerCommand -> Objects.equals(registerCommand.getPassword(), registerCommand.getPassword2()), "两次输入的密码不一致");