diff --git a/zheng-common/pom.xml b/zheng-common/pom.xml index 9e78bcce..e648bf5d 100644 --- a/zheng-common/pom.xml +++ b/zheng-common/pom.xml @@ -224,6 +224,12 @@ <artifactId>hibernate-validator</artifactId> <version>5.2.2.Final</version> </dependency> + <!-- fluent-validator --> + <dependency> + <groupId>com.baidu.unbiz</groupId> + <artifactId>fluent-validator</artifactId> + <version>1.0.6</version> + </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.thymeleaf</groupId> diff --git a/zheng-common/src/main/java/com/zheng/common/validator/LengthValidator.java b/zheng-common/src/main/java/com/zheng/common/validator/LengthValidator.java new file mode 100644 index 00000000..13443b62 --- /dev/null +++ b/zheng-common/src/main/java/com/zheng/common/validator/LengthValidator.java @@ -0,0 +1,38 @@ +package com.zheng.common.validator; + +import com.baidu.unbiz.fluentvalidator.ValidationError; +import com.baidu.unbiz.fluentvalidator.Validator; +import com.baidu.unbiz.fluentvalidator.ValidatorContext; +import com.baidu.unbiz.fluentvalidator.ValidatorHandler; + +/** + * 长度校验 + * Created by shuzheng on 2017/2/18. + */ +public class LengthValidator extends ValidatorHandler<String> implements Validator<String> { + + private int min; + + private int max; + + private String fieldName; + + public LengthValidator(int min, int max, String fieldName) { + this.min = min; + this.max = max; + this.fieldName = fieldName; + } + + @Override + public boolean validate(ValidatorContext context, String s) { + if (null == s || s.length() > max || s.length() < min) { + context.addError(ValidationError.create(String.format("LengthValidator => invalid : min=%s, max=%s", min, max)) + .setErrorCode(-1) + .setField(fieldName) + .setInvalidValue(s)); + return false; + } + return true; + } + +} diff --git a/zheng-common/src/main/java/com/zheng/common/validator/NotNullValidator.java b/zheng-common/src/main/java/com/zheng/common/validator/NotNullValidator.java new file mode 100644 index 00000000..c18d22fd --- /dev/null +++ b/zheng-common/src/main/java/com/zheng/common/validator/NotNullValidator.java @@ -0,0 +1,32 @@ +package com.zheng.common.validator; + +import com.baidu.unbiz.fluentvalidator.ValidationError; +import com.baidu.unbiz.fluentvalidator.Validator; +import com.baidu.unbiz.fluentvalidator.ValidatorContext; +import com.baidu.unbiz.fluentvalidator.ValidatorHandler; + +/** + * 校验不为null + * Created by shuzheng on 2017/2/18. + */ +public class NotNullValidator extends ValidatorHandler<String> implements Validator<String> { + + private String fieldName; + + public NotNullValidator(String fieldName) { + this.fieldName = fieldName; + } + + @Override + public boolean validate(ValidatorContext context, String s) { + if (null == s) { + context.addError(ValidationError.create(String.format("NotNullValidator => invalid")) + .setErrorCode(-1) + .setField(fieldName) + .setInvalidValue(s)); + return false; + } + return true; + } + +} diff --git a/zheng-common/src/main/java/com/zheng/common/validator/SizeValidator.java b/zheng-common/src/main/java/com/zheng/common/validator/SizeValidator.java new file mode 100644 index 00000000..e9dd6235 --- /dev/null +++ b/zheng-common/src/main/java/com/zheng/common/validator/SizeValidator.java @@ -0,0 +1,38 @@ +package com.zheng.common.validator; + +import com.baidu.unbiz.fluentvalidator.ValidationError; +import com.baidu.unbiz.fluentvalidator.Validator; +import com.baidu.unbiz.fluentvalidator.ValidatorContext; +import com.baidu.unbiz.fluentvalidator.ValidatorHandler; + +/** + * 校验数字大小 + * Created by shuzheng on 2017/2/18. + */ +public class SizeValidator extends ValidatorHandler<Integer> implements Validator<Integer> { + + private int min; + + private int max; + + private String fieldName; + + public SizeValidator(int min, int max, String fieldName) { + this.min = min; + this.max = max; + this.fieldName = fieldName; + } + + @Override + public boolean validate(ValidatorContext context, Integer integer) { + if (null == integer || integer.intValue() > max || integer.intValue() < min) { + context.addError(ValidationError.create(String.format("SizeValidator => invalid : min=%s, max=%s", min, max)) + .setErrorCode(-1) + .setField(fieldName) + .setInvalidValue(integer)); + return false; + } + return true; + } + +}