From 11e6ed41dac032fd09a793787c4747ab0d1aa9f6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 四月 2025 08:05:41 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/components/system/user/OperaUserWindow.vue |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/admin/src/components/system/user/OperaUserWindow.vue b/admin/src/components/system/user/OperaUserWindow.vue
index 44b0ef2..c5da65d 100644
--- a/admin/src/components/system/user/OperaUserWindow.vue
+++ b/admin/src/components/system/user/OperaUserWindow.vue
@@ -21,8 +21,8 @@
       </el-form-item>
       <el-form-item label="澶村儚" prop="avatar" required>
         <el-radio-group v-model="form.avatar" class="form-item-avatar">
-          <el-radio label="/avatar/man.png" border><img src="/avatar/man.png" alt=""></el-radio>
-          <el-radio label="/avatar/woman.png" border><img src="/avatar/woman.png" alt=""></el-radio>
+          <el-radio label="avatar/man.png" border><img src="@/assets/avatar/man.png" alt=""></el-radio>
+          <el-radio label="avatar/woman.png" border><img src="@/assets/avatar/woman.png" alt=""></el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item v-if="form.id == null" label="鍒濆瀵嗙爜" prop="password" required>
@@ -77,7 +77,8 @@
           { required: true, message: '璇疯緭鍏ュ鍚�' }
         ],
         password: [
-          { required: true, message: '璇疯緭鍏ュ瘑鐮�' }
+          { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+          { validator: this.validatePassword, trigger: 'blur' }
         ],
         avatar: [
           { required: true, message: '璇烽�夋嫨鐢ㄦ埛澶村儚' }
@@ -95,6 +96,26 @@
     }
   },
   methods: {
+    validatePassword (rule, value, callback) {
+      if (!value) {
+        callback(new Error('璇疯緭鍏ュ瘑鐮�'))
+      } else {
+        const lengthValid = /^.{6,20}$/.test(value)
+        const hasLetter = /[a-zA-Z]/.test(value)
+        const hasNumber = /[0-9]/.test(value)
+        const hasSpecial = /[!@#$%^&*(),.?":{}|<>]/.test(value)
+
+        const typesCount = [hasLetter, hasNumber, hasSpecial].filter(Boolean).length
+
+        if (!lengthValid) {
+          callback(new Error('瀵嗙爜闀垮害闇�涓�6鍒�20涓瓧绗�'))
+        } else if (typesCount < 2) {
+          callback(new Error('瀵嗙爜闇�鍖呭惈瀛楁瘝銆佹暟瀛楀強鐗规畩瀛楃涓殑鑷冲皯涓ょ'))
+        } else {
+          callback() // 楠岃瘉閫氳繃
+        }
+      }
+    },
     /**
      * 鎵撳紑绐楀彛
      *

--
Gitblit v1.9.3