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

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.kler.cn/a/271444.html

相关文章:

  • 【搞定offer】远程医疗:健康科技领域,搞定医疗offer
  • 具有HiLo注意力的快速视觉Transformer
  • 窥探目标文件
  • C++并行化编程
  • 基于单片机的超声波液位检测系统(论文+源码)
  • 【漫话机器学习系列】067.希腊字母(greek letters)-写法、名称、读法和常见用途
  • Docker学习之镜像管理(超详解析)
  • k8s之图形界面DashBoard【九】
  • 数字IC实践项目(9)—SNN加速器的设计和实现(tiny_ODIN)
  • DIY小车神器 - 智能轮式驱动单元
  • C# 单例模式
  • 人工智能(AI)-机器学习-深度学习-大语言模型LLM(chatgtp)
  • Spring(概念)
  • 每日学习笔记:C++ STL 的无序容器(unordered_set、unordered_map)
  • Tuxera NTFS 2023安装使用教程 Tuxera NTFS破解版 Tuxera NTFS for Mac优惠
  • 【RK32388 Android10, UNIK 4G模块导致usb hub出现 EMI】
  • 2核4g服务器够用吗?
  • 17个工作必备的Python自动化代码分享(上篇)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:WaterFlow)
  • Unity2019.2.x 导出apk 安装到安卓Android12+及以上的系统版本 安装出现-108 安装包似乎无效的解决办法
  • Linux信号量(简易版)
  • C#编程语言在软件开发中的深度应用与实践
  • android studio 连接mumu模拟器调试
  • StarRocks 易用性全面提升:数据导入可以如此简单
  • 研究生总结
  • <Linux> 线程的同步与互斥