Vue3 TS 验证子组件中的表单,多级表单验证

news2024/12/24 3:17:59

Vue3 TS 验证子组件中的表单,多级表单验证

  • 1. 使用情形
  • 2. 子组件script中定义并expose
  • 3. 父组件使用

1. 使用情形

在某些交互场景下,我们同一个页面会嵌套多个表单,例如表单2为表单1的子组件里的表单,但是我们需要在提交场景下同时验证表单1和表单2。

在这里插入图片描述

2. 子组件script中定义并expose

// 子组件表单验证
const validateForm = async () => {
  try {
    return await basicFormRef.value.validate()
  } catch (error) {
    return false
  }
}

defineExpose({ validateForm })

3. 父组件使用

BasicInfo 为子组件,绑定ref

<BasicInfo ref="basicInfoRef" v-model:createForm="onlineCreateForm.basicInfo" />

通过ref调用子组件expose出的validateForm方法,实现子组件中的表单验证

const basicInfoRef = ref()
const validateBasicInfoForm = async () => {
  const validateBasicInfo = await basicInfoRef.value.validateForm()
  if (validateBasicInfo) {
    // 验证成功后的操作
  } else {
    message.error('下一步操作失败:请先完善当前基本信息必填项!')
  }
}

通过上述方法的组合使用,就可以实现复杂的多表单页面的表单验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos 7 升级Docker 与Docker-Compose 到最新版本

一 升级docker 可参考docker官方升级 1, 查看docker 信息 docker info 2,查看docker 版本 docker --version 3 升级前 可停止docker : sudo systemctl stop docker 4 查看已安装的docker 并卸载 [rootlocalhost docker]# yum list installed | grep docker docker.x86…

Java学习中,强制类型转换时,没有检查兼容性,引发 ClassCastException怎么办?

Java是一门强类型语言&#xff0c;这意味着在编译时&#xff0c;变量的数据类型已经确定。然而&#xff0c;在实际开发过程中&#xff0c;可能会遇到将对象转换为其他类型的需求&#xff0c;这时就会涉及到类型转换问题。Java提供了自动类型转换和强制类型转换两种方式来处理不…

中秋节好物抢先看!中秋佳节有什么好用又实惠的好物推荐!

中秋佳节即将悄然而至&#xff0c;你是否已经开始为家中的温馨氛围挑选那些寓意团圆与美好的中秋好物&#xff1f;一年一度的中秋佳节&#xff0c;正是我们精心筹备&#xff0c;以物寄情&#xff0c;共享天伦之乐的美好时刻。错过了此刻的精选与筹备&#xff0c;便需再等一年&a…

《Python编程:从入门到实践》外星人入侵

一、规划 在游戏《外星人入侵》中&#xff0c;玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船&#xff0c;还可使用空格键进行射击。游戏开始时&#xff0c;一群外星人出现在天空中&#xff0c;他们在屏 幕中向下移动。玩家的任务是射杀这些外星…

进程查看和计划任务

进程查看 用top查看 其中stopped为前台任务在后台暂停 jobs&#xff1a;查看系统有多少暂停任务 fg 进程序号&#xff1a;进入暂停任务 M&#xff1a;按内存占比排序 P&#xff1a;按cpu占比排序 写一个死循环脚本并杀死 #!/bin/bash NUM0 while(($NUM<3)) doecho &qu…

基于SSM的驾校管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的驾校管理系统拥有三种角色&#xff0c;分别为管理员、教员、学员。实现了学员信息管理、课表信息管理、车辆信息管理、缴费管理、反馈管理、课程安排等功能&#xff0c;具体请参…

口含烟怎么使用?

“口含烟”通常指的是在吸烟过程中将烟草放在嘴里&#xff0c;但不直接吸入肺部。这种方法的使用方式如下&#xff1a; 1. 点燃烟草&#xff1a;使用打火机或火柴点燃香烟的端部。 2. 将烟草放在口中&#xff1a;吸气时&#xff0c;将烟草含在口腔内&#xff0c;不要深吸到肺…

大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

【数字IC自整资料】笔试相关

目录 1、使用连续赋值来模拟buffer惯性延时的写法正确的是?&#xff08;A&#xff09; 2、AXI总线位宽32bit&#xff0c;频率500MHZ,假设AXI cmd是基于burst8传输的&#xff0c;第一笔数据返回的延迟是200ns。那么outstanding 数量至少(13)才能满带宽传输 3、一个线性反馈移…

ICETEK-DM6437-AICOM—— DMA直接存储器访问设计

#一、设计目的&#xff1a; 1 进一步了解 ICETEK-DM6437-AF 的内部存储器空间的分配及指令寻址方式&#xff1a; 内部存储器空间分配&#xff1a;研究 ICETEK-DM6437-AF 的存储器架构&#xff0c;包括但不限于片内 SRAM、片外 DRAM 和其他存储器模块。了解这些存储器的大小、起…

Pytorch深度学习快速入门笔记【小土堆】

目录 1 Python学习中两大重要函数 2 Python代码编辑的三种方式 3 Pytorch学习 3.1 Dataset和DataLoader 3.1.1 Dataset 3.1.2 DataLoader 3.2 TensorBoard 3.2.1 add_scalar 3.2.2 add_image 3.3 Transforms 3.3.1 ToTensor 3.3.2 Normalize 3.3.3 Resize 3.3.4 C…

数据场景练习

1 行列转换 (1) 列拆分为多行 把指定字段按指定分隔符进行拆分为多行,然后其它字段直接复制. select字段列,hobby2 from tbl -- lateral view udtf(expression) tablealias as columnalias (‘,’ columnalias) lateral view explode(split(hobby,;)) temp as hobby2 (2) 行扁…

uniapp小程序,使用腾讯地图获取定位

本篇文章分享一下在实际开发小程序时遇到的需要获取用户当前位置的问题&#xff0c;在小程序开发过程中经常使用到获取定位功能。uniapp官方也提供了相应的API供我们使用。 官网地址&#xff1a;uni.getLocation(OBJECT)) 官网获取位置的详细介绍这里就不再讲述了&#xff0c;大…

区块链的可伸缩性以及面临的挑战

1. 可伸缩性 在过去的几年中&#xff0c;可伸缩性&#xff08;Scalability,也称为可扩展性) 问题一直是激烈辩论、严格研究和媒体关注的焦点。 这是一个至关重要的问题&#xff0c;因为它可能意味着区块链不适于广泛应用&#xff0c;而仅限于联盟许可的私有网络。在经过对该领域…

C++设计模式——Mediator中介者模式

一&#xff0c;中介者模式的定义 中介者模式是一种行为型设计模式。它通过一个中介者对象将多个对象之间的交互关系进行封装&#xff0c;使得对象之间的交互需要通过中介者对象来完成。该设计模式的结构很容易理解&#xff0c;以中介者为中心。 中介者模式的设计思想侧重于在…

遗传算法与深度学习实战(12)——粒子群优化详解与实现

遗传算法与深度学习实战&#xff08;12&#xff09;——粒子群优化详解与实现 0. 前言1. 粒子群优化1.1 粒子群优化原理1.2 算法流程 2. 实现 PSO 解决方程2.1 问题描述2.2 代码实现 小结系列链接 0. 前言 粒子群优化 (Particle Swarm Optimization, PSO) 是一种借鉴适者生存和…

医疗行业怎么节约和管理能源

医院建筑能耗平台 医院智能照明平台 医院能源综合管理平台 目前&#xff0c;能源短缺已成为一个全球性问题。在建筑业的发展中&#xff0c;建筑电气照明系统的节能水平与中国的能源利用率有关。照明系统中的低功率因数和高电压波动将导致较大的功率损失。因此&#xff0c;要认…

计算机网络——ARP篇(二)

上一次学习了ARP的基本概念&#xff0c;ARP缓存&#xff0c;ARP类型&#xff0c;以及ARP协议在网络中是如何工作的。这一次&#xff0c;我又深入的了解了ARP协议的工作原理&#xff0c;下面是我的学习笔记&#xff1a; 在学习之前&#xff0c;首先提出三个问题&#xff1a;ARP协…

BizDevOps落地实践

我理解BizDevOps就是端到端&#xff0c;从战略业务机会到开发上线 参考资料 十六年所思所感&#xff0c;聊聊这些年我所经历的 DevOps 系统 必致&#xff08;BizDevOps&#xff09;白皮书2022免费下载_在线阅读_藏经阁-阿里云开发者社区 具体落地实践 战略规划 战略&…

C#使用TCP-S7协议读写西门子PLC(一)

之前本人发布西门子S7协议的报文 西门子PLC的S7协议报文解析说明_西门子报文详解-CSDN博客 西门子PLC的S7协议是西门子公司在ModbusTcp协议的基础上自定义的一种协议,仅支持西门子PLC,S7协议本质仍然属于TCP协议的一种自定义具体实现 第一步,准备工作。VS2022中新建窗体应…