element-ui多个表单如何同时验证

本文介绍了一个使用Element UI构建的表单,展示了如何实现密码与确认密码的验证功能,通过`v-model`双向绑定和`blur`触发器检查密码匹配。点击提交按钮时,会遍历验证每项数据的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
  <div>
        <div v-for="(item,index) in Data" :key="index">
            <el-form :model="item" :ref="'ValidateForm'" class="demo-ruleForm" :rules="rules">
                <el-form-item label="密码" prop="pass">
                    <el-input type="password" v-model="item.pass" auto-complete="off"></el-input>
                </el-form-item>
                <el-form-item label="确认密码" prop="checkPass">
                    <el-input type="password" v-model="item.checkPass" auto-complete="off"></el-input>
                </el-form-item>
            </el-form>
        </div>
        <el-button type="primary" @click="submitForms('ValidateForm')">提交</el-button>

  </div>
</template>

<script>
import url from "../../common/api";
export default {
 data() {
    return {
        Data: [
            {
                pass: '',
                checkPass: '',
            },
            {
                pass: '',
                checkPass: '',
            },
            {
                pass: '',
                checkPass: '',
            }
        ],
        rules: {
            checkPass: [
              { required: true, message: '验证信息自己写', trigger: 'blur' },
            ],
        },
    };
 },
 methods: {
    submitForms(ruleForm) {
      let xix=[]//创建一个空数据,用来存每个valid是true/false,
      this.Data.forEach((item,index) => {
        this.$refs[ruleForm][index].validate((valid) => {
            xix.push(valid)
        });
      });
      //查看是否都是true
      let xin=xix.every((item,index)=>{
          return item
      })
      //xix.every(valid)每一项都是true才提交请求
      if (xin) {
          axios.get(...)
      } else {
          console.log('error submit!!');
      }
    }
 }
}
</script>

<style>

</style>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值