当前位置: 首页 > news >正文

el-form自定义校验规则

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。

下面是一个示例,演示如何在 el-form 中使用自定义校验规则:

  1. <template>
  2. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  3. <el-form-item label="用户名" prop="username" :rules="usernameRules">
  4. <el-input v-model="form.username"></el-input>
  5. </el-form-item>
  6. <el-form-item>
  7. <el-button type="primary" @click="submitForm">提交</el-button>
  8. <el-button @click="resetForm">重置</el-button>
  9. </el-form-item>
  10. </el-form>
  11. </template>
  12. <script>
  13. export default {
  14. data() {
  15. return {
  16. form: {
  17. username: ''
  18. },
  19. rules: {
  20. username: [
  21. { required: true, message: '请输入用户名', trigger: 'blur' }
  22. ]
  23. }
  24. };
  25. },
  26. methods: {
  27. submitForm() {
  28. this.$refs.form.validate(valid => {
  29. if (valid) {
  30. // 表单验证通过,提交表单
  31. console.log('提交表单');
  32. } else {
  33. // 表单验证失败,打印错误信息
  34. console.log('表单验证失败');
  35. return false;
  36. }
  37. });
  38. },
  39. resetForm() {
  40. this.$refs.form.resetFields();
  41. }
  42. },
  43. computed: {
  44. usernameRules() {
  45. return [
  46. { required: true, message: '请输入用户名', trigger: 'blur' },
  47. { validator: this.validateUsername, trigger: 'blur' }
  48. ];
  49. }
  50. },
  51. methods: {
  52. validateUsername(rule, value, callback) {
  53. // 自定义校验规则
  54. if (value === 'admin') {
  55. callback(new Error('用户名已存在'));
  56. } else {
  57. callback();
  58. }
  59. }
  60. }
  61. };
  62. </script>

在上述例子中,我们定义了一个表单项 "用户名",并给它设置了两个校验规则,一个是必填规则,一个是自定义规则。自定义规则通过 `validator` 属性指向一个函数,该函数会在校验时调用。函数接受三个参数:`rule` 表示当前字段的验证规则,`value` 表示当前字段的值,`callback` 用来返回校验结果。当校验不通过时,通过调用 `callback` 函数并传递错误消息来报告校验失败。

这只是一个简单的例子,你可以根据你的具体需求来定义更复杂的自定义校验规则。

相关文章:

el-form自定义校验规则

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现&#xff0c;该函数接受要校验的字段的值作为参数&#xff0c;并返回一个布尔值或一个 Promise 对象。 下面是一个示例&#xff0c;演示如何在 el-form 中使用自定义校验规则…...

xml对象与字符串互换

很多老系统&#xff0c;特别是C的系统&#xff0c;可能数据结构采用的xml。xml对java来说没有什么&#xff0c;但是C来说&#xff0c;可能还有个顺序问题&#xff0c;毕竟c没有那么多通用类库。 2 xstream 先说依赖&#xff0c;我本来不想升级&#xff0c;但是有个问题卡者就给…...

单例模式和多例模式和工厂模式

1单例设计模式 学习目标 能够使用单例设计模式设计代码 内容讲解 正常情况下一个类可以创建多个对象 public static void main(String[] args) {// 正常情况下一个类可以创建多个对象Person p1 new Person();Person p2 new Person();Person p3 new Person(); }如果说有…...

【网络架构】华为hw交换机网络高可用网络架构拓扑图以及配置

一、网络拓扑 1.网络架构 核心层:接入网络----路由器 汇聚层:vlan间通信 创建vlan ---什么是vlan:虚拟局域网,在大型平面网络中,为了实现广播控制引入了vlan,可以根据功能或者部门等创建vlan,再把相关的端口加入到vlan.为了实现不用交换机上的相同vlan通信,需要配置中继,为了…...

信也科技一面凉经

1.在项目经历里挑一个详细介绍一下 项目的应用场景 2.项目里用到多线程是怎么用的&#xff1f;回答&#xff1a;线程池 用通过 ThreadPoolExecutor 构造函数的方式创建的线程池 3.线程池有哪些重要参数&#xff1f;回答&#xff1a;核心线程数、最大线程数、阻塞队列类型、…...

AI商业化如何落地?看设计师如何利用AI细化工作流

自从AI爆火之后&#xff0c;人类是否会被AI取代一直都是打工人格外关注的问题。 而最近&#xff0c;在小编深入探索到我们用户的使用情况后&#xff0c;发现已经有人拿神采PromeAI直接实现了商业应用&#xff0c;将AI的设计创意应用得淋漓尽致&#xff0c;并且直接进军房地产及…...

论文阅读 - Understanding Diffusion Models: A Unified Perspective

文章目录 1 概述2 背景知识2.1 直观的例子2.2 Evidence Lower Bound(ELBO)2.3 Variational Autoencoders(VAE)2.4 Hierachical Variational Autoencoders(HVAE) 3 Variational Diffusion Models(VDM)4 三个等价的解释4.1 预测图片4.2 预测噪声4.3 预测分数 5 Guidance5.1 Class…...

[Python进阶] 定制类:模拟篇

4.10.5 模拟篇 4.10.5.1 call 通过__call__魔法方法可以像使用函数一样使用对象。通过括号的方式调用&#xff0c;也可以像函数一样传入参数&#xff1a; from icecream import icclass Multiplier:def __init__(self, mul):self.mul muldef __call__(self, arg):return se…...

HTML5 游戏开发实战 | 五子棋

01、五子棋游戏设计的思路 在下棋过程中&#xff0c;为了保存下过的棋子的信息&#xff0c;使用数组 chessData。chessData&#xff3b;x&#xff3d;&#xff3b;y&#xff3d;存储棋盘(x&#xff0c;y)处棋子信息&#xff0c;1 代表黑子&#xff0c;2 代表白子&#xff0c;0…...

rust学习-json的序列化和反序列化

由于 serde 库默认使用 JSON 格式进行序列化和反序列化 因此程序将使用 JSON 格式对数据进行序列化和反序列化 社区为 Serde 实现的部分数据格式列表: JSON:广泛使用的 JavaScript 对象符号,用于许多 HTTP APIPostcard:no_std 和嵌入式系统友好的紧凑二进制格式。CBOR:用…...

基于MapReduce的Hive数据倾斜场景以及调优方案

文章目录 1 Hive数据倾斜的现象1.1 Hive数据倾斜的场景1.2 解决数据倾斜问题的优化思路 2 解决Hive数据倾斜问题的方法2.1 开启负载均衡2.2 引入随机性2.3 使用MapJoin或Broadcast Join2.4 调整数据存储格式2.5 分桶表、分区表2.6 使用抽样数据进行优化2.7 过滤倾斜join单独进行…...

mysql 02 数据库的约束

为防止错误的数据被插入到数据表&#xff0c;MySQL中定义了一些维护数据库完整性的规则&#xff1b;这些规则常称为表的约束。常见约束如下&#xff1a; 主键约束 主键约束即primary key用于唯一的标识表中的每一行。被标识为主键的数据在表中是唯一的且其值不能为空。这点类似…...

Quivr 基于GPT和开源LLMs构建本地知识库 (更新篇)

一、前言 自从大模型被炒的越来越火之后&#xff0c;似乎国内涌现出很多希望基于大模型构建本地知识库的需求&#xff0c;大概在5月底的时候&#xff0c;当时Quivr发布了第一个0.0.1版本&#xff0c;第一个版本仅仅只是使用LangChain技术结合OpenAI的GPT模型实现了一个最基本的…...

Unity如何制作声音控制条(控制音量大小)

一&#xff1a;UGUI制作 1. 首先在【层级】下面创建UI里面的Slider组件。设置好它对应的宽度和高度。 2.调整Slider滑动条的填充颜色。一般声音颜色我黄色&#xff0c;所以我们也调成黄色。 我们尝试滑动Slider里面的value。 a.滑动前。 b.滑动一半。 c.滑动完。 从以上滑动va…...

非计算机科班如何顺利转行计算机领域?

文章目录 每日一句正能量前言如何规划才能实现转计算机&#xff1f;计算机岗位发展前景&#xff1f;现阶段转计算机的建议后记 每日一句正能量 改变思路&#xff0c;改变习惯&#xff0c;改变一种活的方式&#xff0c;往往会创造无限&#xff0c;风景无限&#xff01; 前言 近年…...

Android音视频剪辑器自定义View实战!

Android音视频剪辑器自定义View实战&#xff01; - 掘金 /*** Created by zhouxuming on 2023/3/30** descr 音视频剪辑器*/ public class AudioViewEditor extends View {//进度文本显示格式-数字格式public static final int HINT_FORMAT_NUMBER 0;//进度文本显示格式-时间…...

stm32_ADC电源、通道、工作模式

0、ADC功能框图 1、ADC的电源 1.1、工作电源 VSSAVSS&#xff0c;VDDAVDD&#xff0c;简单来说&#xff0c;通常stm32是3.3V&#xff0c;ADC的工作电源也是3.3V&#xff1b; 1.2、参考电压 VREF和VREF-并不一定引出&#xff0c;取决于封装&#xff0c;如果没有引出则VREF连接到…...

Vue编程式路由导航

目录 一、使用 一、使用 不使用<router-link>标签&#xff0c;利用$router中的api实现跳转&#xff0c;更灵活 <template><div><ul><li v-for"m in messageList" :key"m.id"><!-- 跳转路由并携带params参数&#xff0c…...

LVS-DR模式

目录 1、概述 2、LVS-DR模式的工作原理&#xff1a; 3、在LVS-DR模式下&#xff0c;数据包的流向分析如下&#xff1a; 4、LVS-DR是一种用于构建高可用性负载均衡集群的技术模式。LVS-DR模式具有以下特点&#xff1a; 5、LVS-DR中的ARP问题 6、配置LVS-DR需要以下几个关键…...

详细介绍生成对抗网络 (GAN) 的原理和基于Pytorch源码的实现

介绍 GAN 是一种使用 CNN(卷积神经网络)等深度学习方法进行生成建模的方法。生成建模是一种无监督学习方法,涉及自动发现和学习输入数据中的模式,以便该模型可用于从原始数据集中生成新示例。 GAN 是一种通过将问题构建为具有两个子模型的监督学习问题来训练生成模型的方…...

【Linux】新手必看:高频指令实战演练Part One

1. Linux命令行初体验&#xff1a;从零到上手 第一次打开Linux终端时&#xff0c;那种黑底白字的界面确实容易让人发懵。记得我刚开始接触时&#xff0c;连最基本的"怎么退出当前命令"都要百度半天。但别担心&#xff0c;命令行其实就像学骑自行车 - 刚开始摇摇晃晃&…...

TradingView策略优化:基于机器学习的智能交易系统设计与实现

TradingView策略优化&#xff1a;基于机器学习的智能交易系统设计与实现 【免费下载链接】TradingView Start your trading journey with this projects advanced stop loss/take profit generator, enhancing your TradingView strategy. Utilize sklearns machine learning a…...

Z-Image-GGUF实战:为Android应用集成AI头像生成功能

Z-Image-GGUF实战&#xff1a;为Android应用集成AI头像生成功能 最近在做一个社交类的Android应用&#xff0c;产品经理提了个需求&#xff0c;想加入一个“AI生成个性头像”的功能。用户上传一张自己的照片&#xff0c;选择喜欢的风格&#xff08;比如动漫风、油画感、像素艺…...

PowerPaint-V1 Gradio 新手入门指南:3步搞定图片修复,小白也能变大神

PowerPaint-V1 Gradio 新手入门指南&#xff1a;3步搞定图片修复&#xff0c;小白也能变大神 1. 为什么选择PowerPaint-V1&#xff1f; 如果你经常需要处理图片中的瑕疵、水印或者想替换某些元素&#xff0c;PowerPaint-V1绝对是你的得力助手。这个由字节跳动与香港大学联合研…...

AI手势识别从入门到应用:彩虹骨骼版MediaPipe Hands全流程解析

AI手势识别从入门到应用&#xff1a;彩虹骨骼版MediaPipe Hands全流程解析 1. 手势识别技术概述 手势识别作为人机交互的重要分支&#xff0c;正在改变我们与数字世界的互动方式。想象一下&#xff0c;无需触碰任何设备&#xff0c;仅凭手势就能控制音乐播放、浏览照片或操作…...

Mars3D新手必读:从零开始的开发者实战手册

1. 初识Mars3D&#xff1a;数字地球的新世界 第一次打开Mars3D的场景编辑器时&#xff0c;那种震撼感至今难忘——就像小时候第一次转动地球仪&#xff0c;但这次是用代码在操控整个星球。作为国内领先的Web3D地理信息引擎&#xff0c;Mars3D用浏览器就能呈现毫米级精度的地形地…...

构建自主海上防御系统:Mirai Robotics融资420万美元

Mirai Robotics已筹集420万美元的Pre-Seed轮资金&#xff0c;旨在构建自主和智能的海上系统。本轮融资由Primo Ventures、Techshop和40Jemz Ventures领投&#xff0c;并有来自意大利和国际的天使投资人参与。 海洋是地球上最关键的基础设施之一。全球超过80%的贸易通过海路运输…...

LFM2.5-1.2B-Thinking-GGUF集成Python爬虫实战:智能数据采集与清洗

LFM2.5-1.2B-Thinking-GGUF集成Python爬虫实战&#xff1a;智能数据采集与清洗 1. 当爬虫遇上大模型&#xff1a;数据采集的新思路 传统爬虫开发就像在迷宫里摸索前行——你需要手动解析每个网站的HTML结构&#xff0c;针对不同反爬机制编写特定规则&#xff0c;还要处理杂乱…...

政务短信钓鱼攻击机理与防控研究 —— 以美国宾州 PennDOT 诈骗事件为例

摘要 2026 年 3 月 27 日&#xff0c;宾夕法尼亚州官方发布安全预警&#xff0c;提示公众警惕冒充 PennDOT&#xff08;宾州交通局&#xff09;的短信钓鱼诈骗。此类攻击以车辆管理、罚单缴费、证件状态异常为诱饵&#xff0c;通过仿冒政务身份诱导用户点击恶意链接&#xff0c…...

STM32架构解析:哈佛与冯·诺依曼的工程实践

STM32处理器架构解析&#xff1a;哈佛结构与冯诺依曼结构的工程实践 1. 计算机体系结构基础 1.1 冯诺依曼体系结构 冯诺依曼体系结构&#xff08;Von Neumann architecture&#xff09;是现代计算机的基础设计范式&#xff0c;其核心特征包括&#xff1a; 统一存储结构 &am…...