<el-dialog title="修改密碼" :visible.sync="dialogTableVisible" :fullscreen="true" :show-close="false" :close-on-click-modal="false" > <el-form ref="form" label-width="80px" :rules="rules" :model="user"> <el-form-item label="新密碼" prop="newPassword"> <el-input v-model="user.newPassword" placeholder="請輸入新密碼" type="password" /> </el-form-item> <el-form-item label="確認密碼" prop="confirmPassword"> <el-input v-model="user.confirmPassword" placeholder="請確認密碼" type="password" /> </el-form-item> <el-form-item> <el-button type="primary" size="mini" @click="modifyPwd">保存</el-button> </el-form-item> </el-form> </el-dialog> data() { const equalToPassword = (rule, value, callback) => { if (this.user.newPassword !== value) { callback(new Error("兩次輸入的密碼不一致")); } else { callback(); } }; return { // 版本號 version: "3.2.1", dialogTableVisible: false, currentUser:{}, currentUserId:undefined, user: { newPassword: undefined, confirmPassword: undefined }, // 表單校驗 rules: { newPassword: [ { required: true, message: "新密碼不能為空", trigger: "blur" }, { min: 8, max: 12, message: "長度在 8 到 12個字符", trigger: "blur" } ], confirmPassword: [ { required: true, message: "確認密碼不能為空", trigger: "blur" }, { required: true, validator: equalToPassword, trigger: "blur" } ] }