element表单和vxe表单联动校验的实现

vxetable表单编辑列全局校验 表单的结构如下

js 复制代码
<el-form
        :model="ruleForm"
        :disabled="method == 'view'"
        :loading="loading"
        ref="ruleForm"
        class="info-form"
        size="mini"
      >
        <vxe-table
          style="width: 100%"
          border
          align="center"
          resizable
          show-overflow
          :data="ruleForm.planRoadfList"
          :edit-config="{
            trigger: 'dblclick',
            mode: 'row',
            beforeEditMethod: () => method != 'view',
            showStatus: true,  // 显示校验报错
          }"
          ref="rev_vxeTable1"
          :edit-rules="{ // 对表格中的编辑数据进行校验
            name: [
              { required: true, message: '名字必须填写' },
            ],

          }"
        >
        
        </vxe-table></el-form
      >

父组件内调用提交按钮时进行校验:

js 复制代码
this.$refs["form" + this.currentNodeId].$refs["ruleForm"].validate(
        async (valid1) => {
          console.log('valid1', valid1)
          if (valid1) {
            console.log('第一层校验通过')
            if(this.currentNodeId == '23'){ 
            // rev_vxeTable1被ruleForm包裹需要手动触发vxe校验 
              const errMap = await this.$refs["form" + this.currentNodeId].$refs["rev_vxeTable1"].validate(true)
              // 设置为true是校验整个表格的所有行、所有字段,vxe表单内全局校验
              // 会遍历data中的每一行,
              // 对每一行中配置了 `editRules` 的字段都执行校验。
              console.log('errMap', errMap, Object.prototype.toString.call(errMap))
              // 可以查看未通过校验的信息和errMap结构
              if (errMap) {
                console.error('信息没填完')
                return this.$message.warning('请完善填写信息');

              } else {
                console.log('vxe校验通过')
                提交逻辑
相关推荐
rising start5 小时前
九、vue3 组件通信:全场景详解
前端·vue.js·typescript
编程技术手记5 小时前
Vue Scoped CSS 与动态创建 DOM 的兼容性问题
前端·css·vue.js
MacroZheng6 小时前
别再求前端了!这款对标Claude Design的开源工具,让你一秒拥有顶级设计能力!
前端·vue.js·人工智能
如果超人不会飞6 小时前
TinyVue Container 组件完全指南:五种版型撑起你的"应用骨架"
前端·vue.js
如果超人不会飞7 小时前
用TinyRobot Bubble组件打造灵活强大的AI对话气泡
前端·vue.js
如果超人不会飞7 小时前
新手避坑:使用 TinyRobot 入门阶段常见误区总结
前端·vue.js
如果超人不会飞7 小时前
一文读懂 TinyRobot:前端 AI 组件库定位、价值与适用场景
前端·vue.js
如果超人不会飞7 小时前
用TinyRobot Welcome组件打造贴心的AI助手欢迎页
前端·vue.js
如果超人不会飞7 小时前
TinyRobot DragOverlay轻松实现AI对话中的拖拽上传
前端·vue.js
如果超人不会飞7 小时前
TinyRobot Sender打造强大的AI聊天输入体验
前端·vue.js