diff --git a/project/sass/apps/AppSpecialAdjustment/components/Add.vue b/project/sass/apps/AppSpecialAdjustment/components/Add.vue
index f0333e6d..d7d0c2df 100644
--- a/project/sass/apps/AppSpecialAdjustment/components/Add.vue
+++ b/project/sass/apps/AppSpecialAdjustment/components/Add.vue
@@ -67,20 +67,15 @@
                   
                 
-                
-                  
-                
-                
-                  
-                
-                
-                  
-                
                 
-                  
+                   formData.areaName = v"
+                  />
                 
               
             
@@ -127,6 +122,30 @@ export default {
     dict: Object
   },
   data() {
+    var regPhone = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('请输入电话'))
+      } else {
+        const reg = /^[0-9]{3,11}$/
+        if (reg.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('请输入正确的电话号码'))
+        }
+      }
+    }
+    
+    let IdNumberPass = (rule, value, callback) => {
+      if (value) {
+        if (this.idCardNoUtil.checkIdCardNo(value)) {
+          callback();
+        } else {
+          callback(new Error('身份证号格式错误'))
+        }
+      } else {
+        callback(new Error('请输入身份证号'))
+      }
+    }
     return {
       showGrid: false,
       formData: {
@@ -168,20 +187,23 @@ export default {
           type: 'input',
           formDbName: 'idNumber',
           mustFill: 1,
-          fieldTips: '请输入身份证号'
+          fieldTips: '请输入身份证号',
+          rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
         },
         {
           label: '联系电话',
           type: 'input',
           formDbName: 'phone',
           mustFill: 1,
-          fieldTips: '请输入联系电话'
+          fieldTips: '请输入联系电话',
+          rules: { required: true, validator: regPhone, trigger: 'blur' }
         },
         {
           label: '所属区域',
           type: 'area',
           formDbName: 'areaId',
           mustFill: 1,
+          grid: 1,
           fieldTips: '请选择所属区域'
         },
         {
@@ -242,6 +264,9 @@ export default {
         if (e.mustFill == 1) {
           rules[e.formDbName]?.push({required: true, message: e.fieldTips})
         }
+        if (e.rules) {
+          rules[e.formDbName].push(e.rules)
+        }
       })
       return rules
     }
diff --git a/project/sass/apps/AppSpecialDisabled/components/Add.vue b/project/sass/apps/AppSpecialDisabled/components/Add.vue
index b298a6e1..59606b06 100644
--- a/project/sass/apps/AppSpecialDisabled/components/Add.vue
+++ b/project/sass/apps/AppSpecialDisabled/components/Add.vue
@@ -67,12 +67,15 @@
                   
                 
-                
-                  
-                
                 
-                  
+                   formData.areaName = v"
+                  />
                 
               
             
@@ -119,6 +122,30 @@ export default {
     dict: Object
   },
   data() {
+    var regPhone = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('请输入电话'))
+      } else {
+        const reg = /^[0-9]{3,11}$/
+        if (reg.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('请输入正确的电话号码'))
+        }
+      }
+    }
+    
+    let IdNumberPass = (rule, value, callback) => {
+      if (value) {
+        if (this.idCardNoUtil.checkIdCardNo(value)) {
+          callback();
+        } else {
+          callback(new Error('身份证号格式错误'))
+        }
+      } else {
+        callback(new Error('请输入身份证号'))
+      }
+    }
     return {
       showGrid: false,
       formData: {
@@ -160,20 +187,23 @@ export default {
           type: 'input',
           formDbName: 'idNumber',
           mustFill: 1,
-          fieldTips: '请输入身份证号'
+          fieldTips: '请输入身份证号',
+          rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
         },
         {
           label: '联系电话',
           type: 'input',
           formDbName: 'phone',
           mustFill: 1,
-          fieldTips: '请输入联系电话'
+          fieldTips: '请输入联系电话',
+          rules: { required: true, validator: regPhone, trigger: 'blur' }
         },
         {
           label: '所属区域',
           type: 'area',
           formDbName: 'areaId',
           mustFill: 1,
+          grid: 1,
           fieldTips: '请选择所属区域'
         },
         {
@@ -230,6 +260,9 @@ export default {
         if (e.mustFill == 1) {
           rules[e.formDbName]?.push({required: true, message: e.fieldTips})
         }
+        if (e.rules) {
+          rules[e.formDbName].push(e.rules)
+        }
       })
       return rules
     }
diff --git a/project/sass/apps/AppSpecialDrug/components/Add.vue b/project/sass/apps/AppSpecialDrug/components/Add.vue
index 541750bd..85873a21 100644
--- a/project/sass/apps/AppSpecialDrug/components/Add.vue
+++ b/project/sass/apps/AppSpecialDrug/components/Add.vue
@@ -67,20 +67,15 @@
                   
                 
-                
-                  
-                
-                
-                  
-                
-                
-                  
-                
                 
-                  
+                   formData.areaName = v"
+                  />
                 
               
             
@@ -127,6 +122,30 @@ export default {
     dict: Object
   },
   data() {
+    var regPhone = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('请输入电话'))
+      } else {
+        const reg = /^[0-9]{3,11}$/
+        if (reg.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('请输入正确的电话号码'))
+        }
+      }
+    }
+    
+    let IdNumberPass = (rule, value, callback) => {
+      if (value) {
+        if (this.idCardNoUtil.checkIdCardNo(value)) {
+          callback();
+        } else {
+          callback(new Error('身份证号格式错误'))
+        }
+      } else {
+        callback(new Error('请输入身份证号'))
+      }
+    }
     return {
       showGrid: false,
       formData: {
@@ -169,22 +188,24 @@ export default {
           type: 'input',
           formDbName: 'idNumber',
           mustFill: 1,
-          fieldTips: '请输入身份证号'
+          fieldTips: '请输入身份证号',
+          rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
         },
         {
           label: '联系电话',
           type: 'input',
           formDbName: 'phone',
           mustFill: 1,
-          fieldTips: '请输入联系电话'
+          fieldTips: '请输入联系电话',
+          rules: { required: true, validator: regPhone, trigger: 'blur' }
         },
         {
           label: '所属区域',
           type: 'area',
           formDbName: 'areaId',
           mustFill: 1,
-          fieldTips: '请选择所属区域',
-          maxLength: 20
+          grid: 1,
+          fieldTips: '请选择所属区域'
         },
         {
           label: '详细地址',
@@ -250,6 +271,9 @@ export default {
         if (e.mustFill == 1) {
           rules[e.formDbName]?.push({required: true, message: e.fieldTips})
         }
+        if (e.rules) {
+          rules[e.formDbName].push(e.rules)
+        }
       })
       return rules
     }
diff --git a/project/sass/apps/AppSpecialMental/components/Add.vue b/project/sass/apps/AppSpecialMental/components/Add.vue
index 1d06d20b..7ae53523 100644
--- a/project/sass/apps/AppSpecialMental/components/Add.vue
+++ b/project/sass/apps/AppSpecialMental/components/Add.vue
@@ -67,20 +67,15 @@
                   
                 
-                
-                  
-                
-                
-                  
-                
-                
-                  
-                
                 
-                  
+                   formData.areaName = v"
+                  />
                 
               
             
@@ -127,6 +122,30 @@ export default {
     dict: Object
   },
   data() {
+    var regPhone = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('请输入电话'))
+      } else {
+        const reg = /^[0-9]{3,11}$/
+        if (reg.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('请输入正确的电话号码'))
+        }
+      }
+    }
+    
+    let IdNumberPass = (rule, value, callback) => {
+      if (value) {
+        if (this.idCardNoUtil.checkIdCardNo(value)) {
+          callback();
+        } else {
+          callback(new Error('身份证号格式错误'))
+        }
+      } else {
+        callback(new Error('请输入身份证号'))
+      }
+    }
     return {
       showGrid: false,
       formData: {
@@ -168,20 +187,23 @@ export default {
           type: 'input',
           formDbName: 'idNumber',
           mustFill: 1,
-          fieldTips: '请输入身份证号'
+          fieldTips: '请输入身份证号',
+          rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
         },
         {
           label: '联系电话',
           type: 'input',
           formDbName: 'phone',
           mustFill: 1,
-          fieldTips: '请输入联系电话'
+          fieldTips: '请输入联系电话',
+          rules: { required: true, validator: regPhone, trigger: 'blur' }
         },
         {
           label: '所属区域',
           type: 'area',
           formDbName: 'areaId',
           mustFill: 1,
+          grid: 1,
           fieldTips: '请选择所属区域'
         },
         {
@@ -242,6 +264,9 @@ export default {
         if (e.mustFill == 1) {
           rules[e.formDbName]?.push({required: true, message: e.fieldTips})
         }
+        if (e.rules) {
+          rules[e.formDbName].push(e.rules)
+        }
       })
       return rules
     }
diff --git a/project/sass/apps/AppSpecialPrison/components/Add.vue b/project/sass/apps/AppSpecialPrison/components/Add.vue
index 83a58c34..4a223de0 100644
--- a/project/sass/apps/AppSpecialPrison/components/Add.vue
+++ b/project/sass/apps/AppSpecialPrison/components/Add.vue
@@ -67,20 +67,15 @@
                   
                 
-                
-                  
-                
-                
-                  
-                
-                
-                  
-                
                 
-                  
+                   formData.areaName = v"
+                  />
                 
               
             
@@ -127,6 +122,30 @@ export default {
     dict: Object
   },
   data() {
+    var regPhone = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error('请输入电话'))
+      } else {
+        const reg = /^[0-9]{3,11}$/
+        if (reg.test(value)) {
+          callback()
+        } else {
+          return callback(new Error('请输入正确的电话号码'))
+        }
+      }
+    }
+    
+    let IdNumberPass = (rule, value, callback) => {
+      if (value) {
+        if (this.idCardNoUtil.checkIdCardNo(value)) {
+          callback();
+        } else {
+          callback(new Error('身份证号格式错误'))
+        }
+      } else {
+        callback(new Error('请输入身份证号'))
+      }
+    }
     return {
       showGrid: false,
       formData: {
@@ -170,20 +189,23 @@ export default {
           type: 'input',
           formDbName: 'idNumber',
           mustFill: 1,
-          fieldTips: '请输入身份证号'
+          fieldTips: '请输入身份证号',
+          rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
         },
         {
           label: '联系电话',
           type: 'input',
           formDbName: 'phone',
           mustFill: 1,
-          fieldTips: '请输入联系电话'
+          fieldTips: '请输入联系电话',
+          rules: { required: true, validator: regPhone, trigger: 'blur' }
         },
         {
           label: '所属区域',
           type: 'area',
           formDbName: 'areaId',
           mustFill: 1,
+          grid: 1,
           fieldTips: '请选择所属区域'
         },
         {
@@ -262,6 +284,9 @@ export default {
         if (e.mustFill == 1) {
           rules[e.formDbName]?.push({required: true, message: e.fieldTips})
         }
+        if (e.rules) {
+          rules[e.formDbName].push(e.rules)
+        }
       })
       return rules
     }