From 01d423865ae5eddf91f35c8526f5683c3b430870 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期一, 13 一月 2025 09:30:06 +0800 Subject: [PATCH] 密码强校验添加 --- src/const/crud/admin/user.js | 320 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 181 insertions(+), 139 deletions(-) diff --git a/src/const/crud/admin/user.js b/src/const/crud/admin/user.js index 63011da..fbc3db5 100644 --- a/src/const/crud/admin/user.js +++ b/src/const/crud/admin/user.js @@ -14,148 +14,190 @@ * this software without specific prior written permission. * Author: ztt */ -import {getDetails} from '@/api/admin/user' - +import { getDetails } from '@/api/admin/user' var validateUsername = (rule, value, callback) => { - getDetails(value).then(response => { - if (window.boxType === 'edit') callback() - const result = response.data.data - if (result !== null) { - callback(new Error('鐢ㄦ埛鍚嶅凡缁忓瓨鍦�')) - } else { - callback() - } - }) + getDetails(value).then((response) => { + if (window.boxType === 'edit') callback() + const result = response.data.data + if (result !== null) { + callback(new Error('鐢ㄦ埛鍚嶅凡缁忓瓨鍦�')) + } else { + callback() + } + }) } export const tableOption = { - border: true, - index: true, - indexLabel: '搴忓彿', - stripe: true, - menuAlign: 'center', - searchMenuSpan:6, - editBtn: false, - delBtn: false, - align: 'center', - addBtn: false, - column: [{ - fixed: true, - label: 'id', - prop: 'userId', - span: 24, - hide: true, - editDisabled: true, - addDisplay: false - }, { - fixed: true, - label: '鐢ㄦ埛鍚�', - prop: 'username', - editDisabled: true, - slot: true, - search: true, - span: 24, - rules: [{ - required: true, - message: '璇疯緭鍏ョ敤鎴峰悕' - }, - { - min: 3, - max: 20, - message: '闀垮害鍦� 3 鍒� 20 涓瓧绗�', - trigger: 'blur' - }, - {validator: validateUsername, trigger: 'blur'} + border: true, + index: true, + indexLabel: '搴忓彿', + stripe: true, + menuAlign: 'center', + searchMenuSpan: 6, + editBtn: false, + delBtn: false, + align: 'center', + addBtn: false, + column: [ + { + fixed: true, + label: 'id', + prop: 'userId', + span: 24, + hide: true, + editDisabled: true, + addDisplay: false + }, + { + fixed: true, + label: '鐢ㄦ埛鍚�', + prop: 'username', + editDisabled: true, + slot: true, + search: true, + span: 24, + rules: [ + { + required: true, + message: '璇疯緭鍏ョ敤鎴峰悕' + }, + { + min: 3, + max: 20, + message: '闀垮害鍦� 3 鍒� 20 涓瓧绗�', + trigger: 'blur' + }, + { validator: validateUsername, trigger: 'blur' } + ] + }, + { + label: '瀵嗙爜', + prop: 'password', + type: 'password', + hide: true, + slot: true, + formslot: true, + span: 24, + rules: [ + { + required: true, + message: '璇疯緭鍏ュ瘑鐮�', + trigger: 'blur' + }, + { + validator: (rule, value, callback) => { + let strength = 0 + + if (value.length >= 8) strength++ + if (/\d/.test(value)) strength++ + if (/[a-z]/.test(value)) strength++ + if (/[A-Z]/.test(value)) strength++ + if (/[!@#$%^&*]/.test(value)) strength++ + + if (strength < 4) { + callback(new Error('瀵嗙爜寮哄害涓嶅锛岃纭繚瀵嗙爜鍖呭惈锛氬ぇ灏忓啓瀛楁瘝銆佹暟瀛楀拰鐗规畩瀛楃锛屼笖闀垮害涓嶅皯浜�8浣�')) + } else { + callback() + } + }, + trigger: 'blur' + } + ] + }, + { + label: '鎵�灞炲垎缁�', + prop: 'deptId', + formslot: true, + slot: true, + span: 24, + hide: true, + dataType: 'number', + rules: [ + { + required: true, + message: '璇烽�夋嫨閮ㄩ棬', + trigger: 'change' + } + ] + }, + { + label: '鍛樺伐', + prop: 'staffInfo', + formslot: true, + span: 24, + rules: [ + { + required: true, + message: '璇烽�夋嫨鍛樺伐', + trigger: 'change' + } + ] + }, + { + label: '鎵嬫満鍙�', + prop: 'phone', + type: 'tel', + value: '', + span: 24, + rules: [ + { + min: 11, + max: 11, + message: '闀垮害鍦� 11 涓瓧绗�', + trigger: 'blur' + } + ] + }, + { + label: '瑙掕壊', + prop: 'role', + formslot: true, + slot: true, + overHidden: true, + span: 24, + rules: [ + { + required: true, + message: '璇烽�夋嫨瑙掕壊', + trigger: 'blur' + } + ] + }, + { + label: '鐘舵��', + prop: 'lockFlag', + type: 'radio', + slot: true, + border: true, + span: 24, + rules: [ + { + required: true, + message: '璇烽�夋嫨鐘舵��', + trigger: 'blur' + } + ], + dicData: [ + { + label: '鏈夋晥', + value: '0' + }, + { + label: '閿佸畾', + value: '9' + } + ] + }, + { + width: 180, + label: '鍒涘缓鏃堕棿', + prop: 'createTime', + type: 'datetime', + format: 'yyyy-MM-dd HH:mm', + valueFormat: 'yyyy-MM-dd HH:mm:ss', + editDisabled: true, + addDisplay: false, + span: 24 + } ] - }, { - label: '瀵嗙爜', - prop: 'password', - type: 'password', - value: '', - hide: true, - span: 24, - rules: [{ - min: 6, - max: 20, - required: true, - message: '闀垮害鍦� 6 鍒� 20 涓瓧绗�', - trigger: 'blur' - }] - }, { - label: '鎵�灞炲垎缁�', - prop: 'deptId', - formslot: true, - slot: true, - span: 24, - hide: true, - dataType:"number", - rules: [{ - required: true, - message: '璇烽�夋嫨閮ㄩ棬', - trigger: 'change' - }] - }, { - label: '鍛樺伐', - prop: 'staffInfo', - formslot: true, - span: 24, - rules: [{ - required: true, - message: '璇烽�夋嫨鍛樺伐', - trigger: 'change' - }] - }, { - label: '鎵嬫満鍙�', - prop: 'phone', - type: 'tel', - value: '', - span: 24, - rules: [{ - min: 11, - max: 11, - message: '闀垮害鍦� 11 涓瓧绗�', - trigger: 'blur' - }] - }, { - label: '瑙掕壊', - prop: 'role', - formslot: true, - slot: true, - overHidden: true, - span: 24, - rules: [{ - required: true, - message: '璇烽�夋嫨瑙掕壊', - trigger: 'change' - }] - }, { - label: '鐘舵��', - prop: 'lockFlag', - type: 'radio', - slot: true, - border:true, - span: 24, - rules: [{ - required: true, - message: '璇烽�夋嫨鐘舵��', - trigger: 'change' - }], - dicData: [{ - label: '鏈夋晥', - value: '0' - }, { - label: '閿佸畾', - value: '9' - }] - }, { - width: 180, - label: '鍒涘缓鏃堕棿', - prop: 'createTime', - type: 'datetime', - format: 'yyyy-MM-dd HH:mm', - valueFormat: 'yyyy-MM-dd HH:mm:ss', - editDisabled: true, - addDisplay: false, - span: 24 - }] } -- Gitblit v1.9.3