针对修改密码功能,校验密码格式:
<el-form-item
label="Password"
prop="newPassword"
:rules="[
{required: true, message: 'please enter password', trigger: 'blur'},
{min: 8, message: 'password length should not be less than 8', trigger: 'blur'},
{pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#¥%&*_])[A-Za-z\d~!@#¥%&*_]{8,}$/, message: 'password should contain uppercase, lowercase, number and special character (~!@#¥%&*_)', trigger: 'blur'}
]"
>
<el-input v-model="temp.newPassword" type="password" clearable show-password></el-input>
</el-form-item>
<el-form-item
label="Confirm Password"
prop="confirmPassword"
:rules="[
{required: true, message: 'please enter password', trigger: 'blur'},
{validator: (rule, value, callback) => {
if (value !== temp.newPassword) {
callback(new Error('The two passwords do not match'));
} else {
callback();
}
}, trigger: 'blur'}
]"
>
<el-input v-model="temp.confirmPassword" type="password" clearable show-password></el-input>
</el-form-item>