Vue+element 动态增加表单并进行表单验证

在这里插入图片描述

<div class="moreRules">
          <div class="moreRulesIn" v-for="(item, index) in addForm.moreNotifyObject" :key="item.key" >
              <el-form-item  label="field" :prop="'moreNotifyObject.' + index +'.field'"  :rules="[{required: true, message: '请完善信息'}]">
              		<el-input v-model="item.field" placeholder="请输入field"  class="el-select_box"></el-input>
              </el-form-item>
              <el-form-item  label="name" :prop="'moreNotifyObject.'+ index +'.name'":rules="[{required: true, message: '请完善信息'}]">
              		<el-input v-model="item.name" placeholder="请输入name"  class="el-select_box"></el-input>
              </el-form-item>
              <el-form-item  label="max" :prop="'moreNotifyObject.'+ index +'.max'":rules="[{required: true, message: '请完善信息'}]">
              		<el-input v-model="item.max" placeholder="请输入max"  class="el-select_box"></el-input>
              </el-form-item>
          </div>
</div>

data(){
	addForm:{
            name:'',
            content:'',
            moreNotifyObject:[{
              field:'',
              name:'',
              max:''
            }]
        }
}
methods:{
	addUser() {
            this.addForm.moreNotifyObject.push({
                field:'',
                name:'',
                max:'',
          })
      }
 }

表单验证:
需要注意的一点是:

普通表单验证单项依靠的是prop…而动态生成的表单要用:prop

书写的语法是:prop="‘moreNotifyObject.’ + index +’.notifyobject’",moreNotifyObject是v-for绑定的数组,index是索引,notifyobject是表单绑定的v-model的名称,然后用.把他们链接起来。

所以总结起来的语法就是:prop="‘v-for绑定的数组.’ + index + ‘.v-model绑定的变量’"

还有一个需要注意就是v-for的写法,要将表单的model名写进去

<div class="moreRulesIn" v-for="(item, index) in addForm.moreNotifyObject" :key="item.key">

感谢原博主的整理分享。
https://www.cnblogs.com/blog-zy/p/10155820.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值