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

element-plus中的表单校验

1. 简单校验:

  • 1.1 在script中给出校验规则对象,主要属性名与form对象的属性名一致
  • 1.2 一个字段的校验规则可以有多个,值是一个数组,数组中的一个对象就是一条校验规则
  • 1.3 主要校验规则
    1.3.1 required:是否必填
    1.3.2 message:不符合此规则时的提示信息
    1.3.3 trigger:触发此条规则校验的时机,有两个值,blurchange,默认就是blurchange都会进行校验
    1.3.4 min:此字段的最小长度
    1.3.5 max:此字段的最大长度
    1.3.6 pattern:正则表达式
    例:
const rules = reactive({username: [{required: true, message: '用户名不能为空', trigger: 'blur'},{min: 6, max: 14, message: '用户名长度为6-14位'}]
})

2. 自定义校验规则:

使用validator()方法:此方法接收三个参数validator(rule,value,callback){};
rule:表示此条规则的描述信息
value:表示表单中此字段的值
callback:回调函数,通过此函数控制是否校验通过
例:

const rules = reactive({username: [{validator(rule,value,callback){if(value[0] === '0'){// 校验不通过return callback(new Error('账号第一位不能是0'))}else{// 校验通过callback()}}}]
})

3. 表单统一校验:

如果用户什么都不输入,直接点击登录,那么每个字段的校验规则是不生效的,因为此字段还没有输入。为了避免用户在不操作表单的情况下,直接提交表单,可以在用户点击提交按钮后,对所有的字段进行校验。
通过validate()方法,对整个表单的所有内容进行一次验证:
form.validate(callback):此方法接收一个回调函数,回调函数的第一个参数是布尔类型,当所有的校验规则都通过时,此值为true,否则为false;回调函数的第二个参数是校验未通过的所有字段的数组。

  1. 在form表单中通过ref属性标识一下
<el-form ref="formRef"></el-form>
  1. script部分
// 获取form表单引用
const formRef = ref();
// 当点击登录按钮时的函数:
const submit = ()=>{// 获取到真正的表单元素formRef.value.validate(valid=>{if(valid){// 表单所有元素通过验证console.log('验证通过');}else{console.log('invalidFields');console.log('验证不通过');}})
}
http://www.lryc.cn/news/319556.html

相关文章:

  • ros小问题之roslaunch tab补不全新增的功能包
  • C#常见的.Net类型(二)
  • oracle临时表空间不释放
  • Chapter 13 Techniques of Design-Oriented Analysis: The Feedback Theorem
  • 科研学习|论文解读——美国政治经济中的权力:网络分析(JASIST, 2019)
  • 常用的git命令
  • 【AI】用iOS的ML(机器学习)创建自己的AI App
  • 远程调用初体验笔记
  • 反无人机电子护栏:原理、算法及简单实现
  • Java项目利用Redisson实现真正生产可用高并发秒杀功能 支持分布式高并发秒杀
  • 0104行列式的性质-行列式-线性代数
  • k8s HPA 自动伸缩机制 (配置,资源限制,)
  • vulhub中GIT-SHELL 沙盒绕过漏洞复现(CVE-2017-8386)
  • SpringBoot+vue3打造企业级一体化SaaS系统
  • 探讨TCP的可靠性以及三次握手的奥秘
  • openai常见的两个错误:BadRequestError和OpenAIError
  • 2核4g服务器够用吗?
  • 数据仓库数据分层详解
  • unity内存优化之AB包篇(微信小游戏)
  • 白话模电:3.三极管(考研面试与笔试常考问题)
  • LeetCode 395. 至少有K个重复字符的最长子串
  • C#重新认识笔记_ FixUpdate + Update
  • Django 解决新建表删除后无法重新创建等问题
  • Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)
  • 数据分析-Pandas的直接用Matplotlib绘图
  • Jmeter---分布式
  • 安卓基础面试题
  • 如何在 Linux ubuntu 系统上搭建 Java web 程序的运行环境
  • Redis实现分布式锁源码分析
  • SCI 图像处理期刊