소스 검색

增加fluent-validator校验框架和校验实现类

shuzheng 8 년 전
부모
커밋
e665e53353

+ 6 - 0
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>

+ 38 - 0
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;
+    }
+
+}

+ 32 - 0
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;
+    }
+
+}

+ 38 - 0
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;
+    }
+
+}