Vue3中如何点击外部button进行van-form表单验证

2023-11-10

Vue3中如何点击外部button进行表单验证

1. html页面

1.1 代码

<van-form ref="editRef">
  <van-field
     v-model="dataForm.scaleNo"
     name="scaleNo"
     label="秤的编号"
     placeholder="请选择秤"
     readonly
     :rules="scaleRules"
     @click="chooseImmune(0)"
   >
     <template #right-icon>
       <svg class="icon" aria-hidden="true">
         <use xlink:href="#icon-xiangyou14"></use>
       </svg>
     </template>
   </van-field>
   <van-field
     v-model="dataForm.number"
     type="number"
     label="饲养数量"
     placeholder="请输入种群数量"
     :rules="numberRules"
   />
   <van-field name="sex" label="种群性别">
     <template #input>
       <van-radio-group v-model="dataForm.sex" style="display: flex">
         <van-radio name="1">混群</van-radio>
         <van-radio name="2">公群</van-radio>
         <van-radio name="3">母群</van-radio>
       </van-radio-group>
     </template>
   </van-field>
 </van-form>
 <div class="btn-wrap">
        <van-button type="primary" block round @click="handleSubmit">提交</van-button>
</div>

1.2 注意项

  1. 这里的ref(editRef)一定不能和表单数据(dataForm)一致,如果相同会出现输入框失焦数据丢失以及radio单选框不显示的问题
  2. rules需要单独定义规则名称,如果直接写成:rules="[required:true,message:'12121']"可能会出现错误提示includes[name] is not a function
  3. vue3中button已经有了点击事件就不需要再设置@submit="onSubmit"

2. JS部分核心代码

const shedRules = [{ required: true, message: "请选择所属舍号", trigger: "onChange" }];
const scaleRules = [{ required: true, message: "请选择秤编号", trigger: "onChange" }];
const numberRules = [{ required: true, message: "请输入饲养数量", trigger: "onBlur" }];
// 表单
const dataForm = ref<IScaleSaveParam>({
  orgName: "",
  farmer: "",
  groupNo: "",
  bizDate: "",
  scaleNo: "",
  shedNo: "",
  number: undefined,
  sex: "1",
});
const scaleList = ref<IScaleItemInfoList[]>();
const shedList = ref<IShedItemInfoList[]>();
const editRef = ref()


//表单提交
const handleSubmit = () => {
  console.log(dataForm.value);
  editRef.value
    ?.validate()
    .then(() => {
      console.log("验证成功");
    })
    .catch(() => {
      console.log(2222);
    });
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue3中如何点击外部button进行van-form表单验证 的相关文章

  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 有没有办法动态更改 jqGrid 的单元格值?

    这个问题可能已经被问过很多次了 但我想知道是否可以动态更改 jqgrid 的单元格值 我基本上有一个网格 它通过 JSON 字符串加载数据 在特定列的某些行上 该值可能为 null 因此 预先知道哪个行 ID 是一个问题 然后能够将 nul
  • JAVASCRIPT - 为什么这个对象没有改变?

    function myFunc theObject theObject make Ford model Focus year 2006 var mycar make Honda model Accord year 1998 var x my
  • 获取被调用的 javascript 文件的查询字符串

    是否可以在调用的 javascript 文件上使用 javascript 获取查询参数 如下所示 in html in file js console log this location query 这是否可能以某种方式实现 或者我必须使用
  • Javascript 对象属性名称

    在 C 中 可以将对象属性的名称作为字符串值获取 名称 对象 Property gt myProperty 这可以在 Javascript Typescript 中完成吗 Object Keys 是我找到的唯一东西 但它给了我所有的键 示例
  • 如何在React Native的MapView中设置标记

    我想在React Native中的MapView上设置一个标记 但是通过官方文档找不到任何信息MapView https facebook github io react native docs mapview html content 如
  • 更新存储在 chrome 扩展本地存储中的对象

    我正在开发一个 chrome 扩展 我将存储服务器发送的对象 例如 我将收到 命令 id 1 类型 A 大小 B 优先级 C 如果我有一个数据库 我会将其作为表中的一行插入commands 使用 chrome storage 我将这些对象的
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • 使用 float:left 与 display:inline-block 的 jQuery UI 拖放排序比较

    我这里有两个例子 这两个例子之间的唯一区别是 一种使用display inline block 另一种使用float left li doc item 显示 内联块 与 li doc item float left 我的问题是 displa
  • jquery 中的函数返回未定义[重复]

    这个问题在这里已经有答案了 我在 jquery 中调用的函数返回未定义 我检查了该函数 当我对其进行调试时 它返回正确的数据 function addToPlaylist component type add to pl value pl
  • 如何在 Vuejs 中加载 Pixi 实例?

    我正在 VueJS 组件中学习 PixiJS 如下所示Pixi教程 https github com kittykatattack learningPixi我控制台显示此错误 vue runtime esm js 2b0e 619 Vue
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • Google 地图 API - 地图未显示 - 没有错误

    我正在尝试将地图从 Google API 加载到 div 中 但是 地图未加载 并且没有输出任何错误 这是代码 google maps var geocoder map function codeAddress address geocod
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • Vue.js - 当标头中使用 multipart/form-data 时,axios 中的文件上传验证失败

    我正在构建一个 Laravel Vue js SPA 单页应用程序 BootstrapVue https bootstrap vue js org Vee验证 https logaretm github io vee validate gu

随机推荐

  • 如何搭建基于abc.com的主DNS服务器

    root centos7 named cat var named magedu com zone TTL 1D IN SOA master magedu com admin magedu com 20190628 serial 1D ref
  • 备份、校验、删除本地数据脚本

    备份数据服务的名称 backup server name3 server3 数据保留时间 以天为单位 hold time min3 0 hold time max3 101 备份文件关键字 backup word3 10002020 需要迁
  • 【linux】端口讲解

    先理解一下物理端口 逻辑端口 端口号等计算机概念 在网络技术中 端口包含物理端口和逻辑端口两种类型 物理端口 指物理存在的端口 如ADSL Modem 交换机 路由器上用于连接其他网络设备的接口 逻辑端口 指逻辑意义上用于区分服务的端口 如
  • B站自动搜索关键词,并自动评论+点赞+收藏

    我将代码分成四部分 分别是评论 comment 获取视频网站 geturl 点赞 like 和主要调用 main 以及收藏 shoucang 灵感来自 看嘉然二创的时候下面有时候会有评论 然后机器人自动回复 并计算这是今天第几个视频 于是写
  • Netty保姆级教程(一)IO 演变

    目录 1 内核态与用户态切换 2 基于 BIO 设计的 Socket 示例 3 OS 指令上 BIO 阻塞验证 系统调用 strace 参数设置 4 NIO代码示例 总结下 BIO 与 NIO 5 BIO NIO 的模型图 6 IO 多路复
  • 记一次MongoDB的aggregate使用

    MongoDB聚合使用 包括二次聚合 aggregate 方法 语法 常用聚合表达式 管道的概念 常用聚合操作 聚合实例 根据时间聚合 二次聚合 aggregate 方法 MongoDB中使用 aggregate 方法进行聚合处理 例如统计
  • matlab相机标定知识整理

    matlab相机标定知识整理 单目相机标定 单目相机标定 内参矩阵 cameraParams Intrinsics K 或者 cameraParams K 旋转矩阵 cameraParams RotationMatrices 有待确定 ca
  • ElasticSearch6.8.4&kibana6.8.4 安装教程

    引言 客户机装的 ElasticSearch 6 8 4 所以本地安装单机测试使用 故而记录一下 虚拟机内的Linux版本为 centos7 依赖环境配置 安装JDK 安装JDK教程 可看我这篇文章 https blog csdn net
  • CSS 中过渡动画(transition)的使用

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 前言 通过模仿进度条进度 来练习使用过渡动画 HTML代码如下
  • 【云原生】k8s的集群调度

    k8s中的list watch机制 1 1 list watc机制的概念运用 Kubernetes 是通过 List Watch 的机制进行每个组件的协作 保持数据同步的 每个组件之间的设计实现了解耦 用户是通过 kubectl 根据配置文
  • Pandas处理Excel超简单

    前言 前几天有朋友咨询我关于学习 Python 和 VBS 的疑问 因为他想要将自己繁杂的 Excel 操作自动化 他了解到通过 Python 和 VBS 都可以达到他的目的 所以他在纠结到底学哪个 因为我就是搞 Python 得嘛 所以我
  • 使用matlab写二维数字波束形成程序并输出

    使用 MATLAB 写二维数字波束形成程序的步骤是 1 使用离散傅立叶变换 DFT 计算输入信号的频谱 2 计算波束形成器的权重矩阵 3 使用矩阵乘法计算输出信号的频谱 4 使用逆离散傅立叶变换 IDFT 计算输出信号 最后 输出信号就是二
  • 多态的概念、定义以及实现

    多态的概念 1 多态 多态的概念 通俗来说 就是多种形态 具体点就是去完成某个行为 当不同的对象去完成时会产生出不同 的状态 2 举个栗子 比如买票这个行为 当普通人买票时 是全价买票 学生买票时 是半价买票 军人买票时是优 先买票 再举个
  • OBCP考试经验分享

    1 考试大纲 2 考试范围 官方文档 教材 视频 obcp模拟试题 2题左右 实验手册 3 考试总结 备份恢复占比很少 1道题左右 分布式事务 2道题左右 参与者 协调者 分布式架构 4道题左右 租户 资源池 unit创建扩容 Sql引擎
  • tril--下三角矩阵的抽取

    功能简介 抽取下三角矩阵 语法格式 L tril X k 抽取矩阵中第k条对角线及其以下的元素 k 0指主对角线 k gt 0指主对角线以上的第k条对角线 k lt 0指主对角线以下的第k条对角线 格式变体 L tril X 返回矩阵的下三
  • FFMPEG转码后得到的MP4必须要加载完才能播放的问题

    使用videoview时出现提示 不适合在此设备上播放 但是下载之后又可以播 百思不解 还是看下高人的解决方法 FFMpeg转码由此得到的mp4文件中 meta信息是在文件尾部的 而 videoview 在没有得到meta信息前不会播放文件
  • c++ decltype推导类型

    一 decltype关键字简介 在C 11中 decltype 是一个操作符 用于查询表达式的数据类型 而不会计算实际执行表达式的值 其语法如下 decltype expression var decltype 分析表达式并推导出其类型 它
  • Java中的String,这一篇就够了

    目录 1 String的重要性 2 常用语法 2 1字符串构造 2 2 String对象的比较 2 3 字符串查找 2 4 转化 2 5字符串替换 2 6字符串拆分 示例1 实现字符串的拆分处理 示例2 字符串的部分拆分 示例3 拆分IP地
  • python爬虫从入门到精通

    目录 一 正确认识Python爬虫 二 了解爬虫的本质 1 熟悉Python编程 2 了解HTML 3 了解网络爬虫的基本原理 4 学习使用Python爬虫库 三 了解非结构化数据的存储 1 本地文件 2 数据库 四 掌握各种技巧 应对特殊
  • Vue3中如何点击外部button进行van-form表单验证

    Vue3中如何点击外部button进行表单验证 1 html页面 1 1 代码 1 2 注意项 2 JS部分核心代码 1 html页面 1 1 代码