From cd076383235c4a538db001dff932acf9e8089b4d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 13 Sep 2022 09:15:46 +0800
Subject: [PATCH] 用户新增表单验证

---
 src/views/system/user.vue |   44 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/src/views/system/user.vue b/src/views/system/user.vue
index 9dfd586..783ea5d 100644
--- a/src/views/system/user.vue
+++ b/src/views/system/user.vue
@@ -244,6 +244,29 @@
           callback();
         }
       };
+      const validatePhone = (rule, value, callback) => {
+        if (!/^[1]([3-9])[0-9]{9}$/.test(value)) {
+          callback(new Error("请输入正确的手机号格式"));
+        } else {
+          callback();
+        }
+      };
+
+      const validateEmail = (rule, value, callback) => {
+        const mal = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
+      // const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/
+        if (rule.required && !value) {
+          return callback(new Error('不能为空'))
+        }
+        if (value) {
+          if (!(mal.test(value))) {
+            callback(new Error('请输入正确邮箱'))
+          } else {
+            callback()
+          }
+        }
+      }
+
       return {
         form: {},
         search:{},
@@ -416,6 +439,10 @@
                     required: true,
                     message: "请输入登录账号",
                     trigger: "blur"
+                  },{
+                    min: 2,
+                    max: 40,
+                    message: '账号长度在2到40个字符'
                   }],
                 },
                 // {
@@ -441,7 +468,12 @@
                   hide: true,
                   display: false,
                   viewDisplay: false,
-                  rules: [{required: true, validator: validatePass, trigger: 'blur'}]
+                  rules: [{required: true, validator: validatePass, trigger: 'blur'},
+                  {
+                    min: 2,
+                    max: 40,
+                    message: '密码长度在2到40个字符'
+                  }]
                 },
                 {
                   label: '确认密码',
@@ -466,6 +498,10 @@
                     required: true,
                     message: "请输入用户昵称",
                     trigger: "blur"
+                  },{
+                    min: 2,
+                    max: 10,
+                    message: '昵称长度在2到10个字符'
                   }]
                 },
                 {
@@ -484,13 +520,15 @@
                 {
                   label: "手机号码",
                   prop: "phone",
-                  overHidden: true
+                  overHidden: true,
+                  rules: [{required: false, validator: validatePhone, trigger: 'blur'}]
                 },
                 {
                   label: "电子邮箱",
                   prop: "email",
                   hide: true,
-                  overHidden: true
+                  overHidden: true,
+                  rules: [{required: false, validator: validateEmail, trigger: 'blur'}]
                 },
                 {
                   label: "用户性别",

--
Gitblit v1.9.3