<el-form :model="form" :rules="rules" ref="password" style="width: 500px; margin: auto">
<el-form-item label="当前密码" prop="passWord">
<el-input v-model="form.passWord" style="width: 400px"></el-input>
</el-form-item>
<el-form-item label="新的密码" prop="newPass">
<el-input v-model="form.newPass" style="width: 400px" type="password" autocomplete="new-password"></el-input>
</el-form-item>
<el-form-item label="确认密码" prop="confPass">
<el-input v-model="form.confPass" style="width: 400px" type="password" autocomplete="new-password"></el-input>
</el-form-item>
</el-form>
data() {
var validatePass = (rule, value, callback) => {
if (this.form.confPass !== this.form.newPass) {
callback(new Error("两次输入密码不一致!"));
}
callback();
};
return {
form: {
passWord: "",
newPass: "",
confPass: "",
},
rules: {
passWord: [
{ required: true, message: "请输入当前密码", trigger: "blur" },
],
newPass: [
{ required: true, message: "请输入新的密码", trigger: "blur" },
{ min: 6, message: "密码长度不低于6位数", trigger: "blur" },
],
confPass: [
{ required: true, message: "请输入确认密码", trigger: "blur" },
{ min: 6, message: "密码长度不低于6位数", trigger: "blur" },
{ validator: validatePass, trigger: "blur", required: true },
],
},
};
},
注:当设置type="password"时,浏览器回自动填充保存的用户名和密码,此时应禁止自动填充:autocomplete=“new-password” (autocomplete=“off”,这个没试过)