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