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

ant vue3 form嵌套校验

1、先上效果图

2、核心代码

<a-form ref="formRef" :model="tableInfo" :label-col="{ span: 5 }" :wrapper-col="{ span: 24 }" autocomplete="off">
     <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item label="所属部门" :name="['formState', 'depaId']"
                         :rules="[{ required: true, message: '所属部门不能为空!' }]" :wrapper-col="{ span: 18 }">
              <a-select placeholder="请选择所属部门" v-model:value="tableInfo.formState.depaId" show-search
                        :filter-option="filterOption">
                <a-select-option v-for="(item, index) in tableInfo.deptList" :key="index" :name="item.depaName"
                                 :value="item.depaId">
                  {{ item.depaName }}
                </a-select-option>
              </a-select>
            </a-form-item>
          </a-col>
 </a-row>
<a-table size="small" :columns="columns" :row-key="record => record.type" :data-source="tableInfo.topData"
                 :pagination="false" bordered>
          <template #bodyCell="{ record, index, column }">
            <template v-if="column.dataIndex === 'defaultAmount'">
              <a-form-item :name="['topData',index,'defaultAmount']"
                           :rules="[{ required: true, message: '默认基数不能为空!' }]">
                <a-input-number v-model:value="record.defaultAmount" class="my-input-number-100" :controls="false" :min="0" :max="999999" 
              </a-form-item>
            </template>
          </template>
        </a-table>
</a-form>

//校验对象定义
const tableInfo = reactive({
  formState: {
    schemeId: null,
    city:[]
  },
  topData: []
});

主要关注a-form-item:name="['formState', 'depaId']":name="['topData',index,'defaultAmount']",指定校验的对象,如果是数组需要传入下标


http://www.kler.cn/a/409277.html

相关文章:

  • Centos-stream 9,10 add repo
  • HTML 表单实战:从创建到验证
  • 微机原理与接口技术——可编定时器,计数芯片8253.8254
  • 视觉经典神经网络与复现:深入解析与实践指南
  • Makefile基础应用
  • Ubuntu20.04 Rk3588 交叉编译ffmpeg7.0
  • C++ 优先算法 —— 长度最小的子数组(滑动窗口)
  • SD NAND 的 SDIO在STM32上的应用详解
  • 最新‌VSCode保姆级安装教程(附安装包)
  • vue2 src_Todolist编辑($nextTick)
  • java SQL中使用for update作用和用法
  • 输入三个整数x,y,z,请把这三个数由小到大输出。-多语言实现
  • Scala案例:全文单词统计
  • 【架构】主流企业架构Zachman、ToGAF、FEA、DoDAF介绍
  • 资产管理运营系统mobilefront2前台文件上传漏洞
  • XMOS携手合作伙伴晓龙国际联合推出集成了ASRC等功能的多通道音频板
  • 面试干货:软件测试常见面试题(附答案)
  • 深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化
  • vue3【实战】响应式的登录界面
  • Unity3D 截图
  • linux从0到1——shell编程9
  • Python 获取微博用户信息及作品(完整版)
  • redis的map底层数据结构 分别什么时候使用哈希表(Hash Table)和压缩列表(ZipList)
  • C语言进阶5:动态内存管理
  • Python Selenium:Web自动化测试与爬虫开发
  • C语言指针作业