使用element-plus中的表单验证

标签页代码如下:

// 注意:el-form中的数据绑定不可以用v-model,要使用:model
<el-form ref="ruleFormRef" :rules="rules" :model="userTemp" label-width="80px"><el-row :gutter="20"><el-col :span="12"><el-form-item label="账号" prop="username"><el-input v-model="userTemp.username"/></el-form-item></el-col><el-col :span="12"><el-form-item label="姓名" prop="name"><el-input v-model="userTemp.name"/></el-form-item></el-col></el-row>
</el-form>
<el-button type="primary" @click="confirmAdd(ruleFormRef)">确定</el-button>

语法糖代码如下:

<script setup lang="ts">
import {ElMessage, ElMessageBox, FormRules, FormInstance} from "element-plus"const userTemp = ref({username: '',name: '',
})
// 自定义检验规则
const usernameCheck = (rule, value, callback) => {if (value === undefined) {callback(new Error('账号不能为空'))} else {if (value === '') {callback(new Error('账号不能为空'))} else {if (value !== '') {let reg = /^[A-Za-z0-9]+$/if (!reg.test(value)) {callback(new Error('账号只能是字母或数字'))}}callback()}}
}
const rules = ref<FormRules<typeof userTemp>>({username: [{required: true, validator: usernameCheck, trigger: 'blur'}],name: [{required: true, message: '姓名不能为空', trigger: 'blur'}]
})
// 该名称要和标签中ref的名称一样
const ruleFormRef = ref(null)const confirmAdd = (formEl: FormInstance | undefined) => {if (!formEl) returnformEl.validate((valid) => {if (valid) {// 验证成功进入这里console.log('验证成功')} else {console.log('error submit!')return false}})
}
// 重置验证规则,调用resetForm(ruleFormRef.value)
const resetForm = (formEl: FormInstance | undefined) => {if (!formEl) returnformEl.resetFields()
}
</script>

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

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

相关文章

一次http访问超时服务器端调试

问题&#xff1a;http访问服务器时没有返回&#xff0c;没有超时&#xff0c;一直在阻塞 处理过程&#xff1a;telnet端口能连上&#xff0c;服务端程序也不存在处理时间过长的情况。 说明tcp连接没问题。推测是客户端连接后再发起请求&#xff0c;服务端阻塞了。因为很多客户…

关于 TDengine 的时区(timeZone)问题

背景 在学习SagooIOT物联网平台使用docker部署TDengine时序数据库&#xff0c;根据时间戳&#xff08;timestamp&#xff09;ts查询上报设备数据时 发现结果跟查询条件不匹配。查询问题原因竟然是timezone时区设置问题。 查询数据结果&#xff1a; 查看容器时区&#xff1a; …

分类算法——sklearn转换器和估计器(一)

转换器&#xff08;特征工程的父类&#xff09; 实例化&#xff08;实例化的是一个转换器类&#xff08;Transformer&#xff09;&#xff09;调用fit_transform&#xff08;对于文档建立分类词频矩阵&#xff0c;不能同时调用&#xff09; 把特征工程的接口称之为转换器&…

什么是跨域?

跨域&#xff08;Cross-Origin&#xff09;指的是在Web开发中&#xff0c;一个网页的资源&#xff08;例如脚本、样式表、图片等&#xff09;请求另一个源的资源时&#xff0c;两个源的协议、域名或端口不相同。简单来说&#xff0c;当浏览器试图从一个源加载来自不同源的资源时…

当你的项目体积比较大?你如何做性能优化

在前端开发中&#xff0c;项目体积优化是一个重要的环节&#xff0c;它直接影响到网页的加载速度和用户体验。随着前端项目越来越复杂&#xff0c;引入的依赖也越来越多&#xff0c;如何有效地减少最终打包文件的大小&#xff0c;成为了前端工程师需要面对的挑战。以下是一些常…

汽车咨询|基于SprinBoot的汽车资讯管理系统设计与实现(源码+数据库+文档)

汽车资讯管理系统目录 基于SprinBoot的汽车资讯管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff…

npm 切换成淘宝源,以及遇到npm 报错如何解决

淘宝源&#xff1a;npm config set registryhttps://registry.npmmirror.com/ 然后再npm下 package-lock.json这个删了 npm i再试一下

MySQL——创建和插入

一、插入数据 INSERT 使用建议; 在任何情况下建议列出列名&#xff0c;在 VALUES 中插入值时&#xff0c;注意值和列的意义对应关系 values 指定的值顺序非常重要&#xff0c;决定了值是否被保存到正确的列中 在指定了列名的情况下&#xff0c;你可以仅对需要插入的列给到…

【已解决】VMware Horizon Client: 无法建立安全加密链路连接

文章目录 问题原因解决方法方法1&#xff1a;在HTTPS拦截中添加VMware忽略列表 (推荐)方法2&#xff1a; 只拦截 浏览器进程的请求 / 取消 HTTPS 拦截&#xff08;如果没有拦截HTTPS的必要 / 只针对浏览器请求&#xff0c;可以使用此方法&#xff09; 当前使用mac 编辑&#xf…

Vue中$attrs的作用和使用方法

Vue中$attrs的作用和使用方法 1. 使用场景举例2. 官方解释3. 使用示例 $attrs是 vue2.4.0版本以上新增的属性&#xff1b; 1. 使用场景举例 假如我们现在要二次封装一个组件&#xff0c;我们需要把当前组件获取到的所有的props都传递给子组件&#xff0c;我们可以在当前组件中…

飞书api增加权限

1&#xff0c;进入飞书开发者后台&#xff1a;飞书开放平台 给应用增加权限 2&#xff0c;进入飞书管理后台 https://fw5slkpbyb3.feishu.cn/admin/appCenter/audit 审核最新发布的版本 如果还是不行&#xff0c;则需要修改数据权限&#xff0c;修改为全部成员可修改。 改完…

【排序思想掌握】

排序思想掌握 前言&#xff1a; 开发当中为什么会用到算法&#xff1f;或者说为什么需要算法与数据结构等&#xff1f; 算法思想可以帮助我们优化程序的性能&#xff0c;例如减少时间与空间复杂度&#xff0c;从而使程序更快、更有效地运行。在数据分析领域&#xff0c;算法思想…

Matlab与ROS(1/2)---Message(三)

0. 简介 消息是ROS中交换数据的主要容器。主题和服务使用消息在节点之间传输数据。为了标识其数据结构&#xff0c;每条消息都有一个消息类型。例如&#xff0c;来自激光扫描仪的传感器数据通常以sensor_msgs/LaserScan类型的消息发送。每种消息类型标识消息中包含的数据元素。…

第八十二周周报

学习目标&#xff1a; 论文 学习时间&#xff1a; 2024.4.6-2024.4.12 学习产出&#xff1a; 这周修改在杨老师指导下修改好了论文&#xff0c;另外更新一下CelebA64的结果&#xff0c;FID到了7.27&#xff0c;IS为2.38。

趣谈 Rust 的 Copy trait 和 Clone trait

一、Copy trait 的关键作用 Rust 程序中的变量可以分成两类&#xff1a;实现 Copy trait 的和没实现 Copy trait 的。这有啥区别&#xff1f;当然很重要! 实现 Copy trait 的变量&#xff1a; 不存在所有权问题&#xff0c;可以随意赋值给其他变量&#xff0c;可以随意当参数…

类和对象二

一、运算符重载 为了使自定义类型可以使用加减等运算符&#xff0c;CPP提供了一个功能叫运算符重载。 关键字&#xff1a;operator操作符 运算符重载最好定义在类对象里&#xff0c;这也可以避免访问不到私有成员的问题。 代码演示&#xff1a; 在类里定义之后&#xff0c;…

Java常用数据结构与集合

数据结构 数组&#xff1a; 内存地址连续检索效率高(可以通过下标访问成员)增删操作效率低(保证数据越界的问题,需动态扩容)长度固定&#xff0c;扩容的需要新的数组复制或者Arrays类的copyOf方法 链表 内存地址不连续查询快删除慢&#xff0c;因为需要移动指针又分双向链表…

区块链安全-----区块链基础

区块链是一种全新的信息网络架构 &#xff0c;是新一代信息基础设施 &#xff0c;是新型的价值交换方式、 分布式协 同生产机制以及新型的算法经济模式的基础。 区块链技术可以集成到多个领域。 区块链的主要用途 是作为加密货币的分布式总帐。 它在银行 &#xff0c;金融 &…

数据仓库—数据仓库的特征

数据仓库的兴起正是源于企业日益增长的商业智能和决策分析需求。企业期望能够全面获取内外部的数据资源,洞见历史运营趋势,预测未来发展态势,从而制定前瞻性的经营策略。然而,分散的OLTP系统由于数据孤岛、格式不一致等问题,无法很好地满足这一需求。 因此,建立一个集成的、面…

Java同步机制synchronized:理解wait和notify的运用

引言&#xff1a; 在Java多线程编程中&#xff0c;线程间的同步是确保共享资源被正确访问的关键。线程的协调&#xff0c;如何等待和通知是解决线程同步问题的核心。 synchronized的作用与机制&#xff1a; synchronized是Java中的一个关键字&#xff0c;用于在多线程的环境下…