diff --git a/pom.xml b/pom.xml
index 5b572d2..c21194c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,12 +41,6 @@
5.9.2
test
-
- cn.hutool
- hutool-core
- 5.8.12
- test
-
diff --git a/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java b/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
index 1782fc9..ae00ac2 100644
--- a/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
+++ b/src/main/java/xyz/zhouxy/plusone/validator/BaseValidator.java
@@ -13,7 +13,7 @@ public class BaseValidator {
private final List> propertyValidators = new ArrayList<>();
protected void withRule(final Predicate rule, final String errorMessage) {
- withRule(rule, value -> new InvalidInputException(errorMessage));
+ withRule(rule, () -> new InvalidInputException(errorMessage));
}
protected void withRule(Predicate rule, Supplier exceptionBuilder) {
diff --git a/src/main/java/xyz/zhouxy/plusone/validator/InvalidInputException.java b/src/main/java/xyz/zhouxy/plusone/validator/InvalidInputException.java
index b770344..b8066cf 100644
--- a/src/main/java/xyz/zhouxy/plusone/validator/InvalidInputException.java
+++ b/src/main/java/xyz/zhouxy/plusone/validator/InvalidInputException.java
@@ -1,6 +1,6 @@
package xyz.zhouxy.plusone.validator;
-import xyz.zhouxy.plusone.exception.BaseException;
+import xyz.zhouxy.plusone.commons.exception.BaseException;
/**
* 4040200 - 无效的用户输入
@@ -36,18 +36,4 @@ public class InvalidInputException extends BaseException {
public InvalidInputException(String msg, Throwable cause) {
this(ERROR_CODE, msg, cause);
}
-
- /**
- * 不支持的 Principal 类型出现时抛出的异常
- */
- public static InvalidInputException unsupportedPrincipalTypeException() {
- return unsupportedPrincipalTypeException("不支持的 PrincipalType");
- }
-
- /**
- * 不支持的 Principal 类型出现时抛出的异常
- */
- public static InvalidInputException unsupportedPrincipalTypeException(String message) {
- return new InvalidInputException(4040201, message);
- }
}
diff --git a/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java b/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
index b424c46..e3c51c5 100644
--- a/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
+++ b/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
@@ -3,11 +3,12 @@ package xyz.zhouxy.plusone.validator;
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
+import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
-import xyz.zhouxy.plusone.constant.RegexConsts;
-import xyz.zhouxy.plusone.util.RegexUtil;
+import xyz.zhouxy.plusone.commons.constant.PatternConsts;
+import xyz.zhouxy.plusone.commons.util.RegexUtil;
public class StringValidator extends PropertyValidator> {
@@ -21,18 +22,18 @@ public class StringValidator extends PropertyValidator matches(String regex, String errMsg) {
+ public StringValidator matches(Pattern regex, String errMsg) {
return matches(regex, convertExceptionCreator(errMsg));
}
public StringValidator matches(
- String regex,
+ Pattern regex,
Supplier exceptionCreator) {
return matches(regex, convertExceptionCreator(exceptionCreator));
}
public StringValidator matches(
- String regex,
+ Pattern regex,
Function exceptionCreator) {
withRule(input -> RegexUtil.matches(input, regex), exceptionCreator);
return this;
@@ -40,18 +41,18 @@ public class StringValidator extends PropertyValidator matchesOr(String[] regexs, String errMsg) {
+ public StringValidator matchesOr(Pattern[] regexs, String errMsg) {
return matchesOr(regexs, convertExceptionCreator(errMsg));
}
public StringValidator matchesOr(
- String[] regexs,
+ Pattern[] regexs,
Supplier exceptionCreator) {
return matchesOr(regexs, convertExceptionCreator(exceptionCreator));
}
public StringValidator matchesOr(
- String[] regexs,
+ Pattern[] regexs,
Function exceptionCreator) {
withRule(input -> RegexUtil.matchesOr(input, regexs), exceptionCreator);
return this;
@@ -70,24 +71,24 @@ public class StringValidator extends PropertyValidator StringValidator matchesOr(
List regexs,
Function exceptionCreator) {
- withRule(input -> RegexUtil.matchesOr(input, regexs.toArray(new String[regexs.size()])), exceptionCreator);
+ withRule(input -> RegexUtil.matchesOr(input, regexs.toArray(new Pattern[regexs.size()])), exceptionCreator);
return this;
}
// ===== matchesAnd =====
- public StringValidator matchesAnd(String[] regexs, String errMsg) {
+ public StringValidator matchesAnd(Pattern[] regexs, String errMsg) {
return matchesAnd(regexs, convertExceptionCreator(errMsg));
}
public StringValidator matchesAnd(
- String[] regexs,
+ Pattern[] regexs,
Supplier exceptionCreator) {
return matchesAnd(regexs, convertExceptionCreator(exceptionCreator));
}
public StringValidator matchesAnd(
- String[] regexs,
+ Pattern[] regexs,
Function exceptionCreator) {
withRule(input -> RegexUtil.matchesAnd(input, regexs), exceptionCreator);
return this;
@@ -128,7 +129,7 @@ public class StringValidator extends PropertyValidator StringValidator email(Function exceptionCreator) {
- return matches(RegexConsts.EMAIL, exceptionCreator);
+ return matches(PatternConsts.EMAIL, exceptionCreator);
}
// ====== notEmpty =====
diff --git a/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java b/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java
index 92082c0..135cf14 100644
--- a/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java
+++ b/src/test/java/xyz/zhouxy/plusone/validator/test/BaseValidatorTest.java
@@ -3,10 +3,11 @@ package xyz.zhouxy.plusone.validator.test;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
+import java.util.regex.Pattern;
import org.junit.jupiter.api.Test;
-import xyz.zhouxy.plusone.constant.RegexConsts;
+import xyz.zhouxy.plusone.commons.constant.PatternConsts;
import xyz.zhouxy.plusone.validator.BaseValidator;
import xyz.zhouxy.plusone.validator.ValidateUtil;
@@ -29,17 +30,17 @@ class RegisterCommandValidator extends BaseValidator {
private RegisterCommandValidator() {
ruleForString(RegisterCommand::getUsername)
.notNull("用户名不能为空")
- .matches(RegexConsts.USERNAME,
+ .matches(PatternConsts.USERNAME,
username -> new IllegalArgumentException(String.format("用户名\"%s\"不符合规范", username)));
ruleForString(RegisterCommand::getAccount)
.notNull("请输入邮箱地址或手机号")
- .matchesOr(new String[] { RegexConsts.EMAIL, RegexConsts.MOBILE_PHONE }, "请输入邮箱地址或手机号");
+ .matchesOr(new Pattern[] { PatternConsts.EMAIL, PatternConsts.MOBILE_PHONE }, "请输入邮箱地址或手机号");
ruleForString(RegisterCommand::getCode)
.notNull("验证码不能为空")
- .matches(RegexConsts.CAPTCHA, "验证码不符合规范");
+ .matches(PatternConsts.CAPTCHA, "验证码不符合规范");
ruleForString(RegisterCommand::getPassword)
.notEmpty("密码不能为空")
- .matches(RegexConsts.PASSWORD, "密码不符合规范");
+ .matches(PatternConsts.PASSWORD, "密码不符合规范");
ruleForCollection(RegisterCommand::getRoles)
.notEmpty(() -> new RuntimeException("角色列表不能为空"));
diff --git a/src/test/java/xyz/zhouxy/plusone/validator2/test/BaseValidator2Test.java b/src/test/java/xyz/zhouxy/plusone/validator2/test/BaseValidator2Test.java
index c067cc5..9aa5dec 100644
--- a/src/test/java/xyz/zhouxy/plusone/validator2/test/BaseValidator2Test.java
+++ b/src/test/java/xyz/zhouxy/plusone/validator2/test/BaseValidator2Test.java
@@ -6,10 +6,10 @@ import java.util.Objects;
import java.util.function.Predicate;
import java.util.regex.Pattern;
+import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
-import cn.hutool.core.util.StrUtil;
-import xyz.zhouxy.plusone.constant.RegexConsts;
+import xyz.zhouxy.plusone.commons.constant.RegexConsts;
import xyz.zhouxy.plusone.validator.BaseValidator;
class BaseValidator2Test {
@@ -30,8 +30,8 @@ class RegisterCommandValidator2 extends BaseValidator {
private RegisterCommandValidator2() {
ruleForString(RegisterCommand::getUsername)
.state(((Predicate) Objects::nonNull)
- .and(StrUtil::isNotEmpty)
- .and(StrUtil::isNotBlank)
+ .and(StringUtils::isNotEmpty)
+ .and(StringUtils::isNotBlank)
.and(username -> Pattern.matches(RegexConsts.EMAIL, username)),
(username -> new IllegalArgumentException(String.format("用户名\"%s\"不符合规范", username))));
}