elementUI中el-form 嵌套el-from 如何进行表单校验?

在el-form中嵌套另一个el-form进行表单校验和添加规则,首先,需要确保每个嵌套的el-form都有自己的model、rules和ref。

以下是一个简化的示例:

复制代码
<template>
  <el-form :model="parentForm" :rules="parentRules" ref="parentForm">
    <!-- 父表单字段 -->
    <el-form-item label="父字段" prop="parentField">
      <el-input v-model="parentForm.parentField"></el-input>
    </el-form-item>
    
    <!-- 嵌套的子表单 -->
    <el-form :model="childForm" :rules="childRules" ref="childForm">
      <el-form-item label="子字段" prop="childField">
        <el-input v-model="childForm.childField"></el-input>
      </el-form-item>
    </el-form>
    
    <!-- 提交按钮 -->
    <el-button type="primary" @click="submitForm">提交</el-button>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      parentForm: {
        parentField: ''
      },
      childForm: {
        childField: ''
      },
      parentRules: {
        parentField: [
          { required: true, message: '请输入父字段', trigger: 'blur' }
        ]
      },
      childRules: {
        childField: [
          { required: true, message: '请输入子字段', trigger: 'blur' }
        ]
      }
    };
  },
  methods: {
    submitForm() {
      // 分别验证父表单和子表单
      this.$refs.parentForm.validate(validParent => {
        if (!validParent) return;
        this.$refs.childForm.validate(validChild => {
          if (!validChild) return;
          // 如果都验证通过,则处理提交逻辑
          console.log('父表单和子表单都已验证通过');
          // ...提交逻辑代码...
        });
      });
    }
  }
};
</script>

注意:在el-form中嵌套另一个el-form进行表单校验和添加规则,通常不是Vue或Element UI推荐的做法,因为这可能导致一些意料之外的行为,特别是在处理表单验证和提交时。

相关推荐
Lank_M2 分钟前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写4 分钟前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李6 分钟前
一个复杂的动态表单是如何实现的
前端·设计模式
陈随易20 分钟前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
风骏时光牛马31 分钟前
前沿视界
前端
kyriewen35 分钟前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员
陈随易1 小时前
3000 万人在用的翻译插件,重写一遍就是一门生意
前端·后端·程序员
IT_陈寒1 小时前
Vue的这个响应式陷阱,差点让我加班到天亮
前端·人工智能·后端
Flynt2 小时前
别写拖拽行为,只声明"能拖到哪":UIST 最佳论文的拖拽方案我实测了
前端·svg·preact
Moment3 小时前
代码都能让 Agent 写了,我们为什么还要学前端?
前端·后端·面试