[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正常操作就可以了

原文地址:https://www.cnblogs.com/home-/p/11695246.html

时间: 2024-10-11 20:45:52

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

atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证

atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证 1. 需求,表单验证需要弹框式,但目前easyui ms绑定死了tooltip式样 1 2. 表单验证表现形式 1 2.1. 弹框 1 2.2. 浮动tooltip,推荐这个 1 3. 表单验证的实现原理 1 3.1. 定义reg 2 3.2. 解释 2 3.3. 调用提示... 2 4. 表单验证框架选型easyui>ligerui 2 4.1. ligerui的表单验证选型... 2 4.

表单验证——JqueryValidator、BootstrapValidator

表单验证两种方式: 1.JqueryValidator <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JqueryValidator实战——用户注册</title> <script src="http://static.runoob.com/assets/jquery-validatio

angular2表单验证之ng2-validation学习

最近在使用ng2做前端.发现表单验证这块除了官网上给的示例,验证required.其他的都要自己写逻辑来实现.开发起来不是很方便.所以在网上找了下ng2表单验证的资源,觉得ng2-validation不错.所以做的例子.以便以后使用,也怕时间久了忘脑后去. 示例代码链接 首先从npm包管理服务器上下载安装. npm install ng2-validation --save 命令参数--save:使npm包信息保存在package.json文件的dependencies配置集合内.该集合是ng2

数据上报-动态生成winform表单

winform+Oracle数据库 通过数据库查询出所有列名.数据类型.描述等信息进行动态生成winform表单文件,再通过发射对类进行取值赋值.........适用于表结构单一,需要快速开发的项目 经理预估期1个星期的工作时间,我也不知道如果真的一个星期做完我会不会挂掉,而实际情况是数据库建立都花了一个星期虽然表名称.数据类型都不需要自己想,从建表模型设计,框架寻找. 1.需要用的类 public class FiledInfo { /// <summary> /// 字段名 /// <

element-ui Form表单验证

element-ui Form表单验证规则全解 element的form表单非常好用,自带了验证规则,用起来很方便,官网给的案例对于一些普通场景完全没问题,不过一些复杂场景的验证还得自己多看文档摸索,自己经过数次爬坑 之后,总结了几种form表单的验证规则,为了便于阅读,验证规则是拆分的,完整的代码放在文末 1. 普通输入验证 <el-form-item label="活动名称" prop="name"> <!-- validate-event属性

动态添加HTML表单控件,无(runat=&quot;server&quot;)

JS部分<script> var allChildCount; //整个模块 allChildCount = 1; var sTxt = "<%=htmlselectName%>"; function addChildModel() { allChildCount++; var rown = filetb.rows.length; newRow = filetb.insertRow(rown); newRow.id = "mytdb" + a

根据数据生成表单

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>根据数据生成表单</title> <script> //定义一个数组承接里面的对象内容 //提取数组中的元素(这个元素是对象) //用元素对象type属性判断这个对象是什么类型的标签 //再有对象拿到属性值给标签附上属性 //老套路 window.onload = function()

elementui form resetFields方法 无法重置表单

场景:elementui中dialog对话框中嵌套表单,每次打开对话框,上次的数据都还在里面, 解决一:1.el-form添加ref 2. el-form-item添加prop 3. 在dialog对话框的关闭时间close中设置this.$refs.formData.resetFields() 解决二:给对话框添加v-if 随着对话框的关闭和隐藏重新渲染,但是耗性能 原文地址:https://www.cnblogs.com/my466879168/p/12084176.html

用JS动态创建登录表单,报了个小错误

后来发现原来是: dvObj.style.border='#Red 1px sold'; 其中的Red多谢了一个‘#’, 但是奇怪的是在chrome和firefox都备有报错,但是在ie中报错了. 各位仁兄美眉们一定要小心了额. 下面是这段js动态创建登录框的js代码: 1 onload = function () { 2 var dvObj = document.createElement('div'); 3 dvObj.style.border = 'Red 1px solid'; 4 dv