• [elementUI]v-for动态数据循环表单验证的处理方式


    最近被《哪吒之魔童降世》的主题曲洗脑了,哈哈哈里面有一句歌词是这样的

    风跟着我飞有两道火光,天上海里的神仙能耐我何妨

    从不拘泥任何世俗凡人的目光,我要奔向前方那光芒

    表单验证的时候:

    prop改为:prop,形式为'formInlineList.'+index+'.formInline'

    formInlineList.'+index+'.formInline就是数据结构与数据

    每一个循环中的<el-form-item>都需要加:rules

    去rules时要取吧rules加上取全

    结构( 与平常一样该绑定绑定,改ref ref,就是for循环以后需要注意,还有数据结构的写法 )

    <el-form :model="formInline" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
         <div v-for="(item, index) in formInline.formInlineList" :key="index">
    <!-- formInlineList就是数据结构、要与表单formInLine放在一起,就是放在它里面 --> <el-form-item :label="item.label" :prop="'formInlineList.' + index + '.formInlineVal'" :rules="item.rules.formInlineVal" > <el-input v-model="item.formInlineVal" :placeholder="item.placeHolder"></el-input> </el-form-item> </div> </el-form>

    数据结构

    rules就算不用也要写上绑定不触发,要是删除掉了就报错

    提交表单正常提交就可以

    formInline: {
            formInlineList: [
              {
                index: 1,
                formInlineVal: "",
                label: "优惠券名称:",
                placeHolder: "请输入优惠券名称",
                rules: {
                  formInlineVal: [
                    { required: true, message: "请输入优惠券名称", trigger: "blur" }
                  ]
                }
              },
              {
                index: 2,
                formInlineVal: "",
                label: "消费限制:",
                placeHolder: "消费满XX元可用,不填表示不限",
                rules: {
                  formInlineVal: [{ required: false }]
                }
              }
    }

     写到这会报rules的错,不过没关系,在外面重新定义一个rules然后绑上

    上方循环的地方已经用div隔开了写在div下面绑上prop正常操作就可以了

  • 相关阅读:
    javaday19_List接口_Set接口
    01玩转数据结构_04_最基础的动态数据结构:链表
    10 拖拽的对话框_滚动条_放大镜_
    01玩转数据结构_03_栈和队列
    java小技巧
    01玩转数据结构_02_不要小瞧数组
    01玩转数据结构_01_课程介绍
    javaday18_ArrayList
    JZOJ.3777【NOI2015模拟8.17】最短路(shortest)
    JZOJ.5230【NOIP2017模拟8.5】队伍统计
  • 原文地址:https://www.cnblogs.com/home-/p/11695246.html
Copyright © 2020-2023  润新知