Element中v-for动态数据循环表单验证的处理

1.功能需求

如果表单项里有通过v-for动态生成的表单项,如何设置验证呢?

2.Dom结构如下

表单验证的时候:

  1. prop改为 :prop,形式为’List.’+index+’.startDate’
  2. List.’+index+’.startDate就是数据结构与数据
  3. 每一个循环中的都需要加:rules
复制代码
    <el-form :model="resumes" size="mini" :rules="rules" ref="resumes">
      <div v-for="(item, index) in resumes.List" :key="index">
        <el-form-item label="开始时间:" :prop="'List.'+ index +'.startDate'" :rules="rules.startDate">
          <el-input v-model="item.startDate" size="mini" />
        </el-form-item>
        <el-form-item label="结束时间:" :prop="'List.'+ index +'.endDate'" :rules="rules.endDate">
          <el-input v-model="item.endDate" type="password" />
        </el-form-item>
        <el-form-item label="手机号:" :prop="'List.'+ index +'.phone'" :rules="rules.phone">
          <el-input v-model="item.phone" size="mini" />
        </el-form-item>
      </div>
    </el-form>
复制代码

3.data结构如下:rules为个表单项的验证规则

复制代码
    data() {
      return {
        resumes: {
          List: [{
            startDate: '',
            endDate: '',
            phone: ''
          }]
        },
        rules: { // 添加校验
          startDate: [{
            required: true,
            message: '请输入开始时间',
            trigger: 'blur'
          }],
          endDate: [{
            required: true,
            message: '请输入结束时间',
            trigger: 'blur'
          }
          ],
          phone: [{
            required: true,
            message: '请输入手机号',
            trigger: 'blur'
          }],
        },
      };
复制代码
posted @   小阿飞ZJF  阅读(1151)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示