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校验通过')
                提交逻辑
相关推荐
徐小夕2 小时前
万字长文!DeepSeek Super-agent × 企业知识库架构深度拆解与落地实践
前端·vue.js·github
ruanno_top21 小时前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
徐小夕1 天前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
toooooop81 天前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI1 天前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
FRing032 天前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
Java小卷2 天前
JuanForm vs FormCreate!Vue3 表单引擎联动配置 PK!
vue.js·低代码
小郎君6582 天前
Vue 多标签页的加载态设计:为什么我没有用 Suspense 实现 PageLoading
vue.js·算法
yilaisai2 天前
前端开发遇到的一些细节问题整理
vue.js
华玥作者2 天前
Vue 3 + TypeScript + uni-app 组件库推荐:hy-app(华玥组件库)
vue.js·typescript·uni-app