上次的博客寫的有些問題,經過我的研究要寫校驗新密碼和確認密碼,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(); } };