diff --git a/src/layout/header/components/update_info.vue b/src/layout/header/components/update_info.vue index 044c4a2..0d94155 100644 --- a/src/layout/header/components/update_info.vue +++ b/src/layout/header/components/update_info.vue @@ -71,6 +71,21 @@ const emits = defineEmits(["update:visible", "update:form", "get-data"]); const { visible, form } = useVModels(props, emits); const formRef = ref(null); const validatePass = (rule, value, callback) => { + if (value) { + const reg1 = + /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&*.])[\da-zA-Z~!@#$%^&*.]{8,}$/; + if (!reg1.test(value)) { + callback( + new Error("密码必须是8位以上、必须包含大小写字母、数字、特殊符号") + ); + } else { + callback(); + } + } else { + callback(); + } +}; +const validatePass2 = (rule, value, callback) => { if (form.value.newpwd && !value) { callback(new Error("请再次输入新密码")); } else if (form.value.newpwd && value && value !== form.value.newpwd) { @@ -102,9 +117,11 @@ const rules = { ], newpwd: [ { required: false, message: "请输入新密码", trigger: "blur" }, - { min: 6, max: 18, message: "密码长度为6-18位", trigger: "blur" }, + { required: true, validator: validatePass, trigger: "blur" }, + ], + newpassword1: [ + { required: false, validator: validatePass2, trigger: "blur" }, ], - newpassword1: [{ required: false, validator: validatePass, trigger: "blur" }], }; const fnSubmit = debounce( 1000,