<el-dialog v-el-draggable-dialog title="修改密码" :visible.sync="changePasswordShow" width="500px" append-to-body>
<div style="min-height: 230px">
<el-form ref="form" :model="formData" :rules="rules" label-width="100px" :inline="false" size="normal">
<el-form-item label="原密码:" prop="oldPassword">
<el-input v-model="formData.oldPassword" show-password></el-input>
</el-form-item>
<el-form-item label="新密码:" prop="newPassword">
<el-input v-model="formData.newPassword" show-password></el-input>
</el-form-item>
<el-form-item label="确认新密码:" prop="confirmNewPassword">
<el-input v-model="formData.confirmNewPassword" show-password></el-input>
</el-form-item>
</el-form>
<div class="dialog-footer-div dialog-footer-bottom-div">
<el-button class="el-button--class" type="info" @click="changePasswordShow = false">取 消</el-button>
<el-button v-preventClick class="el-button--class" type="primary" :loading="saveLoading" @click="doPwdUpdate('form')">确 定</el-button>
</div>
</div>
</el-dialog>
private formData = {
oldPassword: "", //老密码的字段
newPassword: "", //新密码字段
confirmNewPassword: "", //确定新密码
checkPassword: "",
username: "",
}; //正则 private rules = { oldPassword: [{ required: true, message: "原密码不能为空", trigger: "blur" }], newPassword: [ { required: true, min: 8, max: 20, message: "新密码8-20位", trigger: "blur" }, { pattern: /^(?=.[a-zA-Z])(?=.\d)(?=.*[~!@#/, message: "必须包含字母和数字,可以包含 !@#_ ", trigger: "blur" }, ], confirmNewPassword: [{ required: true, validator: this.validateNewPassword, trigger: "blur" }], }; //再次确定的校验 private validateNewPassword(rule, value, callback) { if (value === "") { callback(new Error("请再次输入密码")); } else if (value !== this.formData.newPassword) { callback(new Error("两次输入的新密码不一致")); } else { callback(); } }