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>
相关推荐
蜗牛攻城狮27 分钟前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
她说可以呀2 小时前
Vue插槽
前端·javascript·vue.js
qq_448011162 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan2 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_958352903 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
志尊宝3 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native
FRing034 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
excel5 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
外收内放5 小时前
Python基础语法练习题(73)
java·前端·python
风骏时光牛马5 小时前
面向复杂场景的大模型应用落地与能力优化实践
前端