修改密码的修改,正则

79 阅读1分钟
<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)(?=.*[~!@#%^&*()_+`\-={}:";'<>?,.\/]).{8,32}/, 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(); } }