diff --git a/src/views/system/user.vue b/src/views/system/user.vue index 0c061c3..de82708 100644 --- a/src/views/system/user.vue +++ b/src/views/system/user.vue @@ -92,8 +92,11 @@ import func from "@/util/func"; export default { data() { const validatePass = (rule, value, callback) => { + let reg = /^(?=.*\d)(?=.*?[a-z])(?=.*?[A-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,18}$/; if (value === '') { callback(new Error('请输入密码')); + } else if (!reg.test(value)) { + callback(new Error('必须包含6-18位数字、大小写字母、特殊字符,不包含下划线')); } else { callback(); } diff --git a/src/views/system/userinfo.vue b/src/views/system/userinfo.vue index 1d9ef54..a08a021 100644 --- a/src/views/system/userinfo.vue +++ b/src/views/system/userinfo.vue @@ -5,7 +5,8 @@
-
+
@@ -21,10 +22,20 @@ import func from "@/util/func"; export default { data() { + var validatePass = (rule, value, callback) => { + let reg = /^(?=.*\d)(?=.*?[a-z])(?=.*?[A-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,18}$/; + if (value === '') { + callback(new Error('请输入新密码')); + } else if (!reg.test(value)) { + callback(new Error('必须包含6-18位数字、大小写字母、特殊字符,不包含下划线')); + } else { + callback(); + } + }; var validatePass2 = (rule, value, callback) => { if (value === '') { callback(new Error('请再次输入密码')); - } else if (value !== this.pwdform.newPassword1) { + } else if (value !== this.pwdform.newPassword) { callback(new Error('两次输入密码不一致!')); } else { callback(); @@ -65,14 +76,18 @@ export default { required: true, message: "请输入新密码", trigger: "blur" - }] + }, { validator: validatePass, trigger: 'blur' }] }, { label: '确认密码', span: 12, row: true, type: 'password', prop: 'newPassword1', - rules: [{ validator: validatePass2, trigger: 'blur' }] + rules: [{ + required: true, + message: "请输入确认密码", + trigger: "blur" + }, { validator: validatePass2, trigger: 'blur' }] }] }, form: {}, @@ -137,7 +152,7 @@ export default { } }, handleTabClick(tabs) { - if(tabs.prop != '1'){ + if (tabs.prop != '1') { this.$refs.pwdForm.resetForm(); } this.index = func.toInt(tabs.prop);