当前位置: 首页 > news >正文

Vue el-from的el-form-item v-for循环表单如何校验rules(一)

实际业务需求场景: 新增或编辑页面(基础信息表单,一个数据列表的表单),数据列表里面的表单数是动态添加的。数据可新增、可删除,在表单保存前,常常需要做表单必填项的校验,校验通过以后才去发请求保存表单数据。

1、效果图

2、完整代码实现


<template><ul class="violation-content"><li v-for="(item,index) in formData.tableData" :key="item.key"><div class="content-item"><el-form-item :prop="`tableData[${index}].name`"  :rules="{required: true, message: '请输入', trigger: 'blur'}" label-width="1" style="margin-bottom: 0;"><el-input type="text" clearable placeholder="请输入" v-model.trim="item.name"></el-input></el-form-item></div><div class="content-item"><span @click="delete(index)">删除</span><el-button type="primary" v-if="index === (formData.tableData.length-1)" @click="add">添加</el-button></div></li></ul>
</template>
export default {data() {return {formData:{tableData: [],}};},created() {this.$set(this.formData, 'tableData', [{name: '', key: Date.now()}])}, methods: {add() {this.formData.tableData.push({name: '',key: Date.now()})},delete(index) {this.formData.tableData.splice(index, 1)},},
};
</script>

 注意:

重点!!!,因为是循环的,所以prop也要变成动态的了,要拼接上index,就变成根据索引去找对应的校验项了,即为::prop="'tableData.' + index + '.name'" ,这样的话,就变成了:prop="tableData.0.name"、prop="tableData.1.name"、prop="tableData.2.name" ... 这样的话,就可以绑定到每一项中的每一个绑定的值了,校验就不会漏掉。

校验规则写成内联就可以触发校验函数this.$refs["formData"].validate((val) => {})

相关文章:

  • TMS320F28P550SJ9学习笔记15:Lin通信SCI模式结构体寄存器
  • 【Java学习】Knife4j使用流程
  • MongoDB常见语句
  • dsp的主码流,子码流是指什么,有什么区别和作用
  • 实践001-Gitlab基础项目准备
  • [MySQL] 事务管理(一) 事务的基本概念
  • Python基础知识(基础语法二)
  • 【ROS2】行为树 BehaviorTree(六):各种各样的节点
  • 循环神经网络 - 扩展到图结构之递归神经网络
  • AI核心概念之“Function Calling” - 来自DeepSeek
  • 4-15记录(冒泡排序,快速选择排序)
  • 电路(b站石群老师主讲,持续更新中...)
  • OpenGL学习笔记(几何着色器、实例化、抗锯齿)
  • Spring 是如何解决循环依赖的
  • 火山引擎旗下防御有哪些
  • 东方博宜OJ ——2395 - 部分背包问题
  • 游戏引擎学习第228天
  • Mysql的查询
  • 2021-10-29 C++按天数返回年月日,按年月日求第几天。
  • Android 项目 Camera 问题:Fail to connect to camera service
  • “科技+萌点”机器人马拉松刷屏!宇树回应“半马摔倒”
  • 美伊就核问题在罗马开展第二轮间接谈判
  • 华夏幸福:累计未能如期偿还债务金额合计为227.91亿元
  • 旧电梯换新如何分摊费用?低楼层可以不出钱吗?上海闵行举办讨论会
  • 在没有穹顶的剧院,和春天的音乐会来一场约会
  • 亲诚惠容行大道,命运与共开新篇——中共中央政治局委员、外交部长王毅谈习近平主席对越南、马来西亚、柬埔寨进行国事访问