vue 中多个表单元素控一个校验规则

1. 场景一

 

<el-form-itemlabel="确认时长方式"prop="preSubResourceDurationDay"
><div class="confirmDurationDay">最晚使用日期前<el-input-numberv-model="form.preSubResourceDurationDay":precision="0"class="dayInputNumber"controls-position="right":min="0"></el-input-number>天<el-time-pickerv-model="form.preSubResourceDurationTime"class="timePicker"value-format="HH:mm":format="'HH:mm'":picker-options="{ selectableRange: '00:00:00 - 23:59:59' }"@change="handlerPreDurationDayChange"></el-time-picker>之前确认,<span style="font-weight: bold">超时不确认将自动取消订单!</span></div>
</el-form-item>

第一个输入框的校验规则:

preDurationDay: [{required: true,trigger: ["blur", "change"],validator: (rule, value, callback) => {// 具体规则....let inputMinite = (this.form.preSubResourceDurationDay + 1) * 24 * 60 - 1 - this.convertTimeToMinutes(this.form.preSubResourceDurationTime);if (inputMinite > 0 && inputMinite < this.lastMinite) {callback();} else {callback(new Error("最晚确认时长,已超过提前预订天数,请重新设置最晚确认时长!"));}},},
],

第二个输入框触发第一个输入框的校验:

handlerPreDurationDayChange() {this.$refs.form.validateField("preSubResourceDurationDay");
},

2. 场景二

① 

② 

像这种,两边控制一个校验规则,只需要一边输入完,就通过校验的场景,在场景一的基础上,再去在自定义规则中定义自定义属性来实现:

:rules="[{required: true,validator: validatorCostAmount,otherValidator: () => item.advanceReservation,  // checkbox 绑定的值trigger: ['blur', 'change'],},
]"

data 中定义:

validatorCostAmount: (rule, value, callback) => {if (rule.otherValidator() == 20 || value >= 0) {callback();} else {callback(new Error("请输入费用或勾选需客人自行预约"));}
},

最后再去页面上 checkbox 的地方绑定一个 change 事件,去触发左边的校验即可。

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

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

相关文章

axure使用中继器画柱状图

源文件在顶部。 在axure通过读取中继器中的数据来画柱状图&#xff0c;如下图&#xff1a; 1&#xff09;创建一个中继器&#xff0c;在里面创建两列&#xff1a;1列是柱状图底部的名称、2列是柱的高度&#xff0c;如下图&#xff1a; 2&#xff09;双击中继器&#xff0c;画一…

ansible安装wordpress

1.回顾 yum安装wordpress 查看别名 [rootlocalhost ~]# type ll ll 是 ls -l --colorauto 的别名设置别名 aliasyum install -y alias ymyum install -y# 使用别名 ym nginx# 取消别名 unalias ym# 基于LNMP做一个wordpressnginx mysql 5.7 PHP 7.4#1、初始化过程 修改主机名…

【code-server】Code-Server 安装部署

Code-Server 安装部署 1.环境准备 可以参考 https://coder.com/docs/code-server/install code-server的安装流程进行安装&#xff0c;主机环境是 Centos7 建议使用 docker 方式进行安装&#xff0c;可能会出现如下报错&#xff0c;需要升级 GNC 的版本&#xff0c;由于影响交…

派能协议,逆变器测试问题记录

问题一&#xff1a;逆变器无法进行逆变 通过抓取逆变器与bms的通讯报文&#xff0c;如下&#xff1a; 根据派能协议&#xff0c;报文标黄的对应充放电状态&#xff0c;30 30对应的数据为0 0&#xff0c;说明充放电状态全部置0&#xff0c;导致逆变器无法逆变。 问题二&#xf…

推荐系统三十六式学习笔记:原理篇.近邻推荐09|协同过滤中的相似度计算方法有哪些?

目录 相似度的本质相似度的计算方法&#xff1a;1、欧式距离2、余弦相似度3、皮尔逊相关度4 、杰卡德&#xff08;Jaccard&#xff09;相似度 总结 相似度的本质 推荐系统中&#xff0c;推荐算法分为两个门派&#xff0c;一个是机器学习派&#xff0c;一个是相似度门派。机器学…

【记录】ChatGLM3-6B大模型部署、微调(一):部署

ChatGLM3介绍 源码连接&#xff1a; ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xf…

算法:模拟题目练习

目录 题目一&#xff1a;替换所有的问号 题目二&#xff1a;提莫攻击 题目三&#xff1a;N字形变换 题目四&#xff1a;外观数列 题目五&#xff1a;数青蛙 首先先解释一下模拟算法是什么&#xff0c;其实模拟算法就是题目让我们干什么我们就干什么&#xff0c;思路比较简…

noVNC 小记

1. 怎么查看Ubuntu版本

汽车行驶中是怎么保障轴瓦安全的?

汽车轴瓦是一种用于减少摩擦和支撑转动部件的关键零部件&#xff0c;通常用于发动机的曲轴、凸轮轴等转动部件上。主要作用是减少转动部件之间的摩擦&#xff0c;支撑和保护曲轴、凸轮轴等旋转部件&#xff0c;确保它们在高速旋转时的稳定性和耐用性。 在汽车轴瓦加工过程中&am…

PHP简约轻型聊天室留言源码

无名轻聊是一款phptxt的轻型聊天室。 无名轻聊特点&#xff1a; 自适应电脑/手机 数据使用txt存放&#xff0c;默认显示近50条聊天记录 采用jqueryajax轮询方式&#xff0c;适合小型聊天环境。 访问地址加?zhi进入管理模式&#xff0c;发送 clear 清空聊天记录。 修改在…

RuoYi: 企业级快速开发平台

目录 前言1 项目介绍1.1 简介1.2 特性 2 技术选型3 功能方面4 代码解释4.1 控制器层示例4.2 服务层示例4.3 数据访问层示例 4 推荐理由4.1 高效开发4.2 灵活性和扩展性4.3 完善的功能和安全性4.4 活跃的开源社区 结语 前言 在现代企业级应用开发中&#xff0c;高效、稳定、安全…

使用脚手架创建vue2项目(关闭eslint语法检查 、运行项目时自动打开网址、src文件夹简写方法)

使用脚手架创建vue2项目会默认安装的插件&#xff08;eslint) 这个插件是检查语法的。 假设我们在main.js中定义了一个变量&#xff0c;没有使用 eslint 就会检测出错误 &#xff08;事实是我们并没有写错而是eslint 给我们判断是错的&#xff0c;所以这样会很麻烦&#xff…

第19篇 Intel FPGA Monitor Program的使用<二>

Q&#xff1a;Intel FPGA Monitor Program里集成的Computer System是什么架构的呢&#xff1f; A&#xff1a;我们以DE2-115的DE2-115_Computer System为例介绍&#xff0c;简单说DE2-115_Computer System就是一个Qsys系统&#xff0c;该系统包含Nios II处理器以及DE2-115开发…

风控中的文本相似方法之余弦定理

一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1&#xff0c;而其他任何角度的余弦值都不大于1&#xff1b;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结果是与向量的长…

Java 编程语言的核心知识点与特性

Java 是一种广泛使用的编程语言&#xff0c;自 1995 年发布以来&#xff0c;它已经成为了企业级应用开发、移动应用开发、大数据处理和云计算等领域的主流技术。本文将介绍 Java 编程语言的一些核心知识点和特性&#xff0c;帮助读者更好地理解和使用 Java。 面向对象编程&…

redis未授权getshell整合利用

一、redis环境搭建 Redis下载地址&#xff1a;http://download.redis.io/releases/redis-4.0.2.tar.gz 1.靶机安装redis-centos7 第一步&#xff1a;下载wget yum -y install wget 第二步&#xff1a;下载redis wget http://download.redis.io/redis-stable.tar.gz 第三步&a…

Google Chrome谷歌浏览器怎么立刻更新书签

在地址栏输入: chrome://sync 点击Trigger GetUpdates按钮&#xff0c;即可看见更新书签 如果不行&#xff0c;请重启chrome浏览器&#xff0c;再重试即可

智能座舱软件性能与可靠性的评估和改进

随着智能汽车的不断发展&#xff0c;智能座舱在性能与可靠性上暴露出体验不佳、投诉渐多的问题&#xff0c;本文从工程化的角度简述了如何构建智能座舱软件的评估框架&#xff0c;以及如何持续改进其性能和可靠性。 1. 智能座舱软件性能和可靠性表现不佳 据毕马威发布的《2023…

Python写UI自动化--playwright(元素定位)

本篇详细分享playwright如何进行打断点、元素定位、填写输入框、点击等操作 目录 一、PyCharm打断点进行调试 二、浏览器开发者模式检查元素 三、通过CSS或XPath进行定位 四、输入框输入文本操作 五、点击操作 总结 一、PyCharm打断点进行调试 如图所示&#xff0c;我们…

RK3568技术笔记 Ubuntu 安装VMware Tools

安装 VMware Tools 后可以直接使用复制粘贴功能拷贝 Ubuntu 系统和 windows 主机内的文件&#xff0c;非常方便。 开启虚拟机&#xff0c;必须要进入ubuntu系统后才能进行下面的步骤。 单击 VMware 软件中的标签“虚拟机”&#xff0c;在下拉的菜单中单击“安装VMware Tools &…