From 51fc8a835e9f2b152e711b5167dab5218b842d85 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 10 十一月 2023 14:48:25 +0800 Subject: [PATCH] 密码策略校验bug --- Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue | 219 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 115 insertions(+), 104 deletions(-) diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue index 9b24dc2..60c4488 100644 --- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue +++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue @@ -42,85 +42,11 @@ export default { name: "passwords.vue", data() { - // 鏈�灏忛暱搴︽鍒欑粦瀹氬�� - let validatePass="" - //鏈�澶ч暱搴︽鍒欑粦瀹氬�� - let validatePass1="" - //杩囨湡鏃堕棿姝e垯缁戝畾鍊� - let validatePass2="" - //鎻愰啋鏃堕棿姝e垯缁戝畾鍊� - let validatePass3="" - //閿佸畾娆℃暟姝e垯缁戝畾鍊� - let validatePass4="" - //閿佸畾鏃堕棿姝e垯缁戝畾鍊� - let validatePass5="" - //鏈�灏忛暱搴︾粦瀹歷alue - let values="" - //鏈�澶ч暱搴︾粦瀹歷alue - let values1="" - //鏈�灏忛暱搴︽鍒欐柟娉� - validatePass = (rule, value,callback) => { - values=value*1 - if(value == ""){ - callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�')); - // }else if(values >= values1*1){ - // callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); - }else { - callback(); - } - }; - //鏈�澶ч暱搴︽鍒欐柟娉� - validatePass1= (rule, value,callback) =>{ - values1=value*1 - if(value == ""){ - callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�')); - }else if(values1 <= values){ - callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); - }else { - callback(); - } - }; - validatePass2 = (rule, value,callback) => { - if(value == ""){ - callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); - }else { - callback(); - } - }; - validatePass3 = (rule, value,callback) => { - if(value == ""){ - callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); - }else { - callback(); - } - }; - validatePass4 = (rule, value,callback) => { - if(value == ""){ - callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); - }else { - callback(); - } - }; - validatePass5 = (rule, value,callback) => { - if(value == ""){ - callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�')); - }else if(/[^\d]/g.test(value)){ - callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); - }else { - callback(); - } - }; return { + //鏈�灏忛暱搴︾粦瀹歷alue + values:"", + //鏈�澶ч暱搴︾粦瀹歷alue + values1:"", form:{}, page: { pageSize: 10, @@ -195,7 +121,18 @@ labelWidth:"22%", rules: [{ required: true, - validator:this.validatePass, + validator:(rule, value,callback)=>{ + this.values=value*1 + if(value == ""){ + callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); + }else if(this.values >= this.values1 && this.values1 != 0){ + callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�')) + }else { + callback(); + } + }, trigger: 'blur' }] }, @@ -206,7 +143,18 @@ labelWidth:"25%", rules: [{ required: true, - validator:this.validatePass1, + validator:(rule, value,callback) =>{ + this.values1=value*1 + if(value == ""){ + callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�')); + }else if(this.values1 <= this.values){ + callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�')); + }else { + callback(); + } + }, trigger: 'change' }] }, @@ -280,7 +228,15 @@ labelWidth:"22%", rules: [{ required: true, - validator:this.validatePass2, + validator: (rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }, trigger: 'blur' }] }, @@ -291,7 +247,15 @@ labelWidth:"25%", rules: [{ required: true, - validator:this.validatePass3, + validator:(rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }, trigger: 'blur' }] }, @@ -302,7 +266,15 @@ labelWidth:"22%", rules: [{ required: true, - validator:this.validatePass4, + validator:(rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }, trigger: 'blur' }] }, @@ -313,7 +285,15 @@ labelWidth:"25%", rules: [{ required: true, - validator:this.validatePass5, + validator:(rule, value,callback) => { + if(value == ""){ + callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�')); + }else if(/[^\d]/g.test(value)){ + callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷')); + }else { + callback(); + } + }, trigger: 'blur' }] }, @@ -350,41 +330,72 @@ this.selectlength=val }, handleCheckboxChange(val) { - // console.log("val",val); const arr = this.option.column[5]; - if(val){ - this.checkboxlength = val.value; - return - } - // console.log("this.checkboxlength",this.checkboxlength); + this.checkboxlength = val.value; this.checkboxedit = this.checkboxlength.toString().split(","); - if (val.value != undefined && val.value != null) { - if (this.checkboxlist == val.value) { + + if (val.value !== undefined && val.value !== null) { + if (this.checkboxlist === val.value) { + return; } else { this.checkboxlist = val.value; if ( - this.selectlength.value >= val.value.length && + this.selectlength.value > val.value.length && val.value.length > 0 ) { - this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"); + this.showWarningMessage(); } else if ( - this.selectlength.value >= this.checkboxedit.length && + this.selectlength.value > this.checkboxedit.length && this.checkboxedit.length > 0 ) { - this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"); + this.showWarningMessage(); } } } - const disabledCount = Math.min(this.checkboxedit.length, 4); - for (let i = 0; i < arr.dicData.length; i++) { - arr.dicData[i].disabled = i >= disabledCount; + + if (val.value !== undefined && val.value !== null) { + if (val.value.length === 1) { + this.setDisabled(arr, [0]); + } else if (val.value.length === 2) { + this.setDisabled(arr, [0, 1]); + } else if (val.value.length === 3) { + this.setDisabled(arr, [0, 1, 2]); + } else if (val.value.length === 4) { + this.setDisabled(arr, [0, 1, 2, 3]); + } else if (val.value.length === 0) { + this.setDisabled(arr, [-1]); + } + } else if (this.checkboxNumber.length !== 0) { + this.setDisabled(arr, [0, 1, 2, 3]); } - if (this.editFlag == true) { - const disabledCount = Math.min(this.checkboxedit.length, 4); - for (let i = 0; i < arr.dicData.length; i++) { - arr.dicData[i].disabled = i >= disabledCount; + + if (this.editFlag) { + if (this.checkboxedit.length === 1) { + this.setDisabled(arr, [0]); + } else if (this.checkboxedit.length === 2) { + this.setDisabled(arr, [0, 1]); + } else if (this.checkboxedit.length === 3) { + this.setDisabled(arr, [0, 1, 2]); + } else if (this.checkboxedit.length === 4) { + this.setDisabled(arr, [0, 1, 2, 3]); + } else if (this.checkboxedit.length === 0) { + this.setDisabled(arr, [-1]); } } + }, + + setDisabled(arr, indices) { + arr.dicData.forEach((item, index) => { + item.disabled = !indices.includes(index); + }); + }, + + showWarningMessage() { + this.$message({ + message: '蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�', + type: 'warning', + showClose: true, + }); }, rowDel(row){ this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { @@ -432,7 +443,7 @@ this.editFlag=true; this.checkboxNumber=row.combinationIds.split(",") this.selectNumber=row.requiredType - if(this.checkboxNumber.length<=this.selectNumber){ + if(this.checkboxNumber.length < this.selectNumber){ this.$message({ type:"warning", message:"蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�" -- Gitblit v1.9.3