上次的博客写的有些问题,经过我的研究要写校验新密码和确认密码,pattern就已经不适用了,它毕竟是写校验正则比较好,但是自定义校验两个密码是否一致的时候就有点累赘了所以我研究了一下写出来了以下供大家参考,我也看到百度方面对ts的文章较少所以给大家总结一下我的经验,经验不足,还请大家见谅

代码如下:

//用rules进行校验
 private rules: object = {
    oldPassword: [
      {
        required: true,
        message: "请输入旧密码",
        trigger: "blur",
      },
      {
        pattern: /^[^\s]*$/,
        message: "不能输入空格",
        trigger: "change",
      },
    ],
    newPassword: [
      {
        required: true,
        message: "请输入新密码",
        trigger: "blur",
      },
      {
        //一般校验正则用自定义,其实我们可以使用pattern
        pattern: /^[^\s]*$/,
        message: "不能输入空格",
        trigger: "change",
      },
    ],
    passwordAgain: [
      {
        required: true,
        //js中直接写calidator=定义的值,但是在ts中需要this去调用
        validator: this.validatePass,
        trigger: "blur",
      },
      {
        pattern: /^[^\s]*$/,
        message: "不能输入空格",
        trigger: "change",
      },
    ],
  };
//重点来了
 private validatePass: any = (rule, value, callback) => {
    if (value === "") {
      callback("请重新输入密码");
    } else if (value !== this.userForm.newPassword) {
      callback("两次密码输入不一致");
    } else {
      callback();
    }
  };

 

posted on 2020-10-30 14:50  小菟同学  阅读(1693)  评论(0编辑  收藏  举报

……