diff --git a/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java b/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
index 92c41cb..6935c83 100644
--- a/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
+++ b/src/main/java/xyz/zhouxy/plusone/validator/StringValidator.java
@@ -6,22 +6,29 @@ import java.util.function.Function;
import java.util.function.Supplier;
import java.util.regex.Pattern;
-import com.google.common.base.Preconditions;
-
import xyz.zhouxy.plusone.commons.constant.PatternConsts;
+import xyz.zhouxy.plusone.commons.util.AssertTools;
import xyz.zhouxy.plusone.commons.util.RegexTools;
+import xyz.zhouxy.plusone.commons.util.StringTools;
+/**
+ * StringValidator
+ *
+ *
+ * 针对文本字段的验证器。
+ *
+ *
+ * @author ZhouXY
+ */
public class StringValidator extends BasePropertyValidator> {
StringValidator(Function getter) {
super(getter);
}
- // ====================
- // ====== String ======
- // ====================
-
- // ===== matches =====
+ // ================================
+ // #region - matches
+ // ================================
public StringValidator matches(Pattern regex, String errMsg) {
return matches(regex, convertExceptionCreator(errMsg));
@@ -40,7 +47,13 @@ public class StringValidator extends BasePropertyValidator matchesOne(Pattern[] regexs, String errMsg) {
return matchesOne(regexs, convertExceptionCreator(errMsg));
@@ -76,7 +89,13 @@ public class StringValidator extends BasePropertyValidator matchesAll(Pattern[] regexs, String errMsg) {
return matchesAll(regexs, convertExceptionCreator(errMsg));
@@ -112,19 +131,13 @@ public class StringValidator extends BasePropertyValidator notBlank() {
return notBlank("This String argument must have text; it must not be null, empty, or blank");
@@ -140,11 +153,17 @@ public class StringValidator extends BasePropertyValidator StringValidator notBlank(
Function exceptionCreator) {
- withRule(StringValidator::isNotBlank, exceptionCreator);
+ withRule(StringTools::isNotBlank, exceptionCreator);
return this;
}
- // ===== email =====
+ // ================================
+ // #endregion - notBlank
+ // ================================
+
+ // ================================
+ // #region - email
+ // ================================
public StringValidator email() {
return email("The value is not an email address.");
@@ -159,10 +178,17 @@ public class StringValidator extends BasePropertyValidator StringValidator email(Function exceptionCreator) {
+ // TODO [优化] 优化 email 校验
return matches(PatternConsts.EMAIL, exceptionCreator);
}
- // ====== notEmpty =====
+ // ================================
+ // #endregion - email
+ // ================================
+
+ // ================================
+ // #region - notEmpty
+ // ================================
public StringValidator notEmpty(String errMsg) {
return notEmpty(convertExceptionCreator(errMsg));
@@ -178,7 +204,13 @@ public class StringValidator extends BasePropertyValidator isNullOrEmpty(String errMsg) {
return isNullOrEmpty(convertExceptionCreator(errMsg));
@@ -194,7 +226,13 @@ public class StringValidator extends BasePropertyValidator length(int length, String errMsg) {
return length(length, convertExceptionCreator(errMsg));
@@ -207,7 +245,7 @@ public class StringValidator extends BasePropertyValidator StringValidator length(int length,
Function exceptionCreator) {
- Preconditions.checkArgument(length >= 0, "The minimum value must be less than the maximum value.");
+ AssertTools.checkArgument(length >= 0, "The minimum value must be less than the maximum value.");
withRule(s -> s != null && s.length() == length, exceptionCreator);
return this;
}
@@ -231,12 +269,16 @@ public class StringValidator extends BasePropertyValidator StringValidator length(int min, int max,
Function exceptionCreator) {
- Preconditions.checkArgument(min >= 0, "The minimum value must be greater than equal to 0.");
- Preconditions.checkArgument(min < max, "The minimum value must be less than the maximum value.");
+ AssertTools.checkArgument(min >= 0, "The minimum value must be greater than equal to 0.");
+ AssertTools.checkArgument(min < max, "The minimum value must be less than the maximum value.");
withRule(s -> length(s, min, max), exceptionCreator);
return this;
}
+ // ================================
+ // #endregion - length
+ // ================================
+
@Override
protected StringValidator thisObject() {
return this;
diff --git a/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java b/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java
index b5cc7f4..31a91fd 100644
--- a/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java
+++ b/src/test/java/xyz/zhouxy/plusone/validator/test/ValidatorTests.java
@@ -10,10 +10,9 @@ import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
-import com.google.common.base.Preconditions;
-
import xyz.zhouxy.plusone.commons.collection.CollectionTools;
import xyz.zhouxy.plusone.commons.function.PredicateTools;
+import xyz.zhouxy.plusone.commons.util.AssertTools;
import xyz.zhouxy.plusone.commons.util.RegexTools;
import xyz.zhouxy.plusone.validator.Validator;
@@ -43,14 +42,14 @@ class ValidatorTests {
// 传入 rule
.addRule(command -> {
String code = command.getCode();
- Preconditions.checkArgument(Objects.nonNull(code), "验证码不能为空");
- Preconditions.checkArgument(RegexTools.matches(code, CAPTCHA), "验证码不符合规范");
+ AssertTools.checkArgument(Objects.nonNull(code), "验证码不能为空");
+ AssertTools.checkArgument(RegexTools.matches(code, CAPTCHA), "验证码不符合规范");
})
// 传入 rule
.addRule(command -> {
String password = command.getPassword();
- Preconditions.checkArgument(StringUtils.isNotEmpty(password), "密码不能为空");
- Preconditions.checkArgument(RegexTools.matches(password, PASSWORD), "密码不符合规范");
+ AssertTools.checkArgument(StringUtils.isNotEmpty(password), "密码不能为空");
+ AssertTools.checkArgument(RegexTools.matches(password, PASSWORD), "密码不符合规范");
})
// 传入 predicate 和 Supplier
.addRule(command -> CollectionTools.isNotEmpty(command.getRoles()),