elementUI 循环出来的表单,怎么做表单校验?

数据结构如下:
diversionParamList: [
{
length: null,
positionNumber: null,
value: null,
}
]

思路:可根据 index 动态绑定 :props 属性值,校验规则写在:rules

javascript 复制代码
<div class="config-item" v-for="(item, index) in form.diversionParamList" :key="index">
  <el-form-item :label="`分流配置${index + 1}`" :prop="`diversionParamList.${index}.positionNumber`"
    :rules="{ required: true, message: '请输入位置', trigger: 'blur' }">
    <span class="config-item-text">位置:</span>
    <el-input-number size="small" style="width: 100px" v-model="item.positionNumber" :min="0"></el-input-number>
  </el-form-item>
  <el-form-item :prop="`diversionParamList.${index}.length`"
    :rules="{ required: true, message: '请输入长度', trigger: 'blur' }">
    <span class="config-item-text">长度:</span>
    <el-input-number size="small" style="width: 100px" v-model="item.length" :min="1"></el-input-number>
  </el-form-item>
  <el-form-item :prop="`diversionParamList.${index}.value`"
    :rules="[{ required: true, message: '请输入值', trigger: 'blur' }, { pattern: /^[0-9A-Fa-f]+$/, message: '必须是1-9或16进制字符:a-f或A-F' }]">
    <span class="config-item-text">值:</span>
    <el-input :maxlength="item.length * 2" v-model="item.value" placeholder="请输入值" style="width: 150px">
      <template #prefix>0x&nbsp;</template>
    </el-input>
  </el-form-item>

  <div class="button-group">
    <el-button v-if="index === form.diversionParamList.length - 1" type="primary" size="small"
      @click="addFormConfig()">新增
    </el-button>
    <el-button v-if="index !== 0" type="danger" size="small" @click="delFormConfig(index)">删除
    </el-button>
  </div>
</div>
相关推荐
一 乐6 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
C_心欲无痕6 小时前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
清沫6 小时前
Claude Skills:Agent 能力扩展的新范式
前端·ai编程
yinuo7 小时前
前端跨页面通信终极指南:方案拆解、对比分析
前端
yinuo7 小时前
前端跨页面通讯终极指南⑨:IndexedDB 用法全解析
前端
xkxnq8 小时前
第二阶段:Vue 组件化开发(第 16天)
前端·javascript·vue.js
烛阴8 小时前
拒绝配置地狱!5 分钟搭建 Three.js + Parcel 完美开发环境
前端·webgl·three.js
Van_Moonlight8 小时前
RN for OpenHarmony 实战 TodoList 项目:空状态占位图
javascript·开源·harmonyos
xkxnq8 小时前
第一阶段:Vue 基础入门(第 15天)
前端·javascript·vue.js
anyup10 小时前
2026第一站:分享我在高德大赛现场学到的技术、产品与心得
前端·架构·harmonyos