From a95b1f6e57354b0798c0043f986a44f523723d32 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 04 七月 2025 11:19:59 +0800
Subject: [PATCH] ss
---
admin/src/components/system/user/ResetPwdWindow.vue | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/admin/src/components/system/user/ResetPwdWindow.vue b/admin/src/components/system/user/ResetPwdWindow.vue
index 287ce32..48c7080 100644
--- a/admin/src/components/system/user/ResetPwdWindow.vue
+++ b/admin/src/components/system/user/ResetPwdWindow.vue
@@ -31,12 +31,38 @@
},
rules: {
password: [
- { required: true, message: '璇疯緭鍏ュ瘑鐮�' }
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+ { validator: this.validatePassword, trigger: 'blur' }
]
}
}
},
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() // 楠岃瘉閫氳繃
+ }
+ }
+ },
+ /**
+ * 鎵撳紑绐楀彛
+ *
+ * @param user 鐩爣鐢ㄦ埛
+ */
open (user) {
this.user = user
this.visible = true
@@ -44,7 +70,9 @@
this.$refs.form.resetFields()
})
},
- // 纭閲嶇疆瀵嗙爜
+ /**
+ * 纭閲嶇疆瀵嗙爜
+ */
confirm () {
if (this.isWorking) {
return
--
Gitblit v1.9.3