From 9fa82e0217d54a38dd1546094d8d15cb43e827b0 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 四月 2025 11:22:47 +0800
Subject: [PATCH] 代码初始化
---
admin/src/components/common/Header.vue | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/admin/src/components/common/Header.vue b/admin/src/components/common/Header.vue
index 751bd70..b8d5c98 100644
--- a/admin/src/components/common/Header.vue
+++ b/admin/src/components/common/Header.vue
@@ -72,7 +72,8 @@
{ required: true, message: '璇疯緭鍏ュ師濮嬪瘑鐮�' }
],
newPwd: [
- { required: true, message: '璇疯緭鍏ユ柊瀵嗙爜' }
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' },
+ { validator: this.validatePassword, trigger: 'blur' },
],
confirmPwd: [
{ required: true, message: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜' }
@@ -110,6 +111,26 @@
this.$refs.changePwdDataForm.resetFields()
})
},
+ 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() // 楠岃瘉閫氳繃
+ }
+ }
+ },
/**
* 纭畾淇敼瀵嗙爜
*/
@@ -131,7 +152,7 @@
updatePwd({
oldPwd: this.changePwdData.form.oldPwd,
newPwd: this.changePwdData.form.newPwd
- })
+ },true)
.then(() => {
this.visible.changePwd = false
setTimeout(() => {
--
Gitblit v1.9.3