关于vue.js:vue-验证两次输入的密码是否一致

6次阅读

共计 1380 个字符,预计需要花费 4 分钟才能阅读完成。

好忘性不如烂笔头。总也记不住

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
              <el-form-item label="新密码" prop="newPwd">
                <el-input v-model="ruleForm.newPwd" clearable size="small" type="password"></el-input>
              </el-form-item>
              <el-form-item label="确认明码" prop="confirmPwd">
                <el-input v-model="ruleForm.confirmPwd" clearable size="small" type="password"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="submitForm('ruleForm')" class="button"> 确定 </el-button>
                <el-button @click="resetForm('ruleForm')" class="button"> 重置 </el-button>
              </el-form-item>
</el-form>

验证两次明码是否统一 却保障输出的明码在 6 -16 个字符之间
要害代码如下:

   data() {var validatePass = (rule, value, callback) => {if (value === '') {callback(new Error('请输出明码'));
        } else {if (this.ruleForm.confirmPwd !== '') {this.$refs.ruleForm.validateField('confirmPwd');
          }
          callback();}
      };
      var validatePass2 = (rule, value, callback) => {if (value === '') {callback(new Error('请再次输出明码'));
          } else if (value !== this.ruleForm.newPwd) {callback(new Error('两次输出明码不统一!'));
          } else {callback();
          }
      };
      return {
        changePwdDialog:false,// 批改明码弹框
        ruleForm: {
          newPwd: '',
          confirmPwd:''
        },
        rules: {
          newPwd: [{ required: true, message: '请输出明码', trigger: 'blur'},
            {min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur'},
            {validator: validatePass, trigger: 'blur'}
          ],
          confirmPwd:[{ required: true, message: '请确认明码', trigger: 'blur'},
            {min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur'},
            {validator: validatePass2, trigger: 'blur', required: true}
          ],
        }
      }
    },
正文完
 0