element新密码和再次输入新密码

新密码和再次输入新密码

<el-form
        :model="ruleForm"
        status-icon
        :rules="rules"
        ref="ruleForm"
        label-width="200px"
        class="demo-ruleForm"
      >
        <el-form-item label="原密码:" prop="password">
          <el-input v-model="ruleForm.password"></el-input>
        </el-form-item>
        <el-form-item label="新密码:" prop="pass">
          <el-input
            type="password"
            v-model="ruleForm.pass"
            autocomplete="off"
          ></el-input>
        </el-form-item>
        <el-form-item label="确认新密码:" prop="checkPass">
          <el-input
            type="password"
            v-model="ruleForm.checkPass"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>

status-icon input框后面的图标
rules 验证规则
ref 绑定节点ruleForm

通过验证规则来验证新密码和再次输入的新密码
 rules: {
        password: [{ validator: validatePass1, trigger: "blur" }],
        pass: [{ validator: validatePass, trigger: "blur" }],
        checkPass: [{ validator: validatePass2, trigger: "blur" }],
      },

validator相当于绑定的变量

  var validatePass = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请输入密码"));
      } else {
        if (this.ruleForm.checkPass !== "") {
          this.$refs.ruleForm.validateField("checkPass");
        }
        callback();
      }
    };
 var validatePass2 = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请再次输入密码"));
      } else if (value !== this.ruleForm.pass) {
        callback(new Error("两次输入密码不一致!"));
      } else {
        callback();
      }
    };
    var validatePass1 = (rule, value, callback) => {
      if (!value) {
        return callback(new Error("原密码为空"));
      }
      callback();
    };

callback()必须写

 confirm(formName) {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          alert("submit!");
          let params = {
            password: this.ruleForm.password,
            password: this.ruleForm.pass,
            password: this.ruleForm.checkPass,
          };
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },

如果验证通过会进入判断条件然后发请求

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element UI 表单校验可以通过内置的校验规则和自定义规则来实现。以下是基本的两种表单校验: 1. 内置校验规则 Element UI 提供了一些内置的校验规则,可以直接在表单项上使用。例如: ```html <el-form :model="form" :rules="rules"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="form.password"></el-input> </el-form-item> </el-form> ``` 在上面的代码中,`prop` 属性指定了表单项对应的数据字段名,`rules` 属性指定了校验规则。在 `rules` 中,可以使用内置的校验规则,例如: ```js rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' }, { min: 3, max: 20, message: '长度在 3 到 20 个字符', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' }, { min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' } ] } ``` 在上面的代码中,`required` 表示必填项,`min` 和 `max` 表示最小和最大长度。`trigger` 属性指定了触发校验的事件,例如 `blur` 表示失去焦点时校验,`change` 表示值变化时校验。 2. 自定义规则 除了内置的校验规则,还可以通过自定义规则来实现表单校验。例如,如果要验证两次输入密码是否一致,可以使用以下代码: ```js rules: { password2: [ { required: true, message: '请再次输入密码', trigger: 'blur' }, { validator: this.checkPassword2, trigger: 'blur' } ] }, methods: { checkPassword2(rule, value, callback) { if (value !== this.form.password) { callback(new Error('两次输入密码不一致')); } else { callback(); } } } ``` 在上面的代码中,`validator` 属性指定了自定义校验函数,该函数接收三个参数:校验规则对象、当前表单项的值、回调函数。如果校验不通过,回调函数应该传递一个 Error 对象,其中包含错误消息。如果校验通过,则直接调用回调函数即可。 以上是 Element UI 表单校验的基本用法,可以根据实际需求进行扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值