From 9057e04efad1b7d61c77a72e5c37a504d0aee935 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期五, 26 九月 2025 09:24:03 +0800 Subject: [PATCH] H5静态化 --- 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