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

Vue.js学习笔记(六)element表单校验规则

文章目录

  • 前言
  • 一、表单验证的作用是什么?
  • 二、如何使用?
    • 1.普通字段
    • 2.对象
    • 3.对象数组
    • 4.自定义校验规则
  • 总结


前言

记录不同情况下的表单字段校验情况。


一、表单验证的作用是什么?

在防止用户犯错的前提下,尽可能让用户更早地发现并纠正错误。

二、如何使用?

Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。

一个字段可以有多个校验规则,required 设置必填,type 设置数据类型, min 设置最小长度, max 设置最大长度,trigger 设置校验触发时机(多个用数组形式),message 设置提示内容,validator 设置自定义校验内容。

1.普通字段

<template><el-form :model="ruleForm" :rules="rules" ref="ruleForm" ><el-form-item label="活动名称" prop="name"><el-input v-model="ruleForm.name"></el-input></el-form-item></el-form>
</template><script>
export default {data() {return {/** 表单内容 */ruleForm: {name:'',},/** 表单校验规则 */rules: {name: [{ type:'string', required: true, message: '请输入活动名称', trigger: 'blur' },{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }],}}}
}
</script>

2.对象

<template><el-form :model="ruleForm" :rules="rules" ref="ruleForm" ><el-form-item label="活动名称" prop="obj.name"><el-input v-model="ruleForm.obj.name"></el-input></el-form-item></el-form>
</template><script>
export default {data() {return {/** 表单内容 */ruleForm: {obj:{name:'',},},/** 表单校验规则 */rules: {obj: {name: [{ type:'string', required: true, message: '请输入活动名称', trigger: 'blur' }],},}}}
}
</script>

3.对象数组

<template><el-form :model="ruleForm" :rules="rules" ref="ruleForm" ><el-row :gutter="20"><el-col :span="24" v-for="(item, index) in ruleForm.versions" :key="index"><div" v-for="(pItem, pIndex) in item.params" :key="pIndex"><el-form-item :prop="`versions[${index}][params][${pIndex}][key]`":rules="rules.versions_params_key"><el-input v-model="pItem.key" placeholder="请输入参数名称"></el-input></el-form-item></div>          </el-col><el-row>     </el-form>
</template><script>
export default {data() {return {/** 表单内容 */ruleForm: {versions: [{name: '版本1',params: [{key: '',}],},]},/** 表单校验规则 */rules: {versions_params_key: [{ required: true, message: '请输入参数名称', trigger: 'blur' }],}}}
}
</script>

4.自定义校验规则

<template><el-form :model="ruleForm" :rules="rules" ref="ruleForm" ><el-form-item label="年龄" prop="age"><el-input v-model.number="ruleForm.age"></el-input></el-form-item></el-form>
</template><script>
export default {data() {var checkAge = (rule, value, callback) => {if (!value) {return callback(new Error('年龄不能为空'));}if (!Number.isInteger(value)) {callback(new Error('请输入数字值'));} else {if (value < 18) {callback(new Error('必须年满18岁'));} else {callback();}}};return {/** 表单内容 */ruleForm: {name:'',},/** 表单校验规则 */rules: {age: [{ validator: checkAge, trigger: 'blur' }]}}}
}
</script>

总结

以上就是今天要记录的内容,本文仅仅简单介绍了element 表单开发中比较常见的情况,更复杂的一些校验需要按照实际业务进行编写。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 雨量气象站:实时、准确地监测并记录降水情况
  • 【基础篇】MySQL数据库详解:基础知识详解
  • 每日一面系列之美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以
  • 从零开始写一个微信小程序
  • 深度学习------------丢弃法dropout
  • Python爬虫技术 第29节 实战案例分析
  • 【Golang】清理Markdown未引用图片
  • PHP如何实现登录认证和鉴权
  • 【Rust光年纪】解锁 Rust 库新姿势:抽象语法树、代码生成与宏处理全解析
  • Qt文件读写
  • 实战:ElasticSearch 索引操作命令(补充)
  • day18 Java流程控制——Scanner进阶使用
  • C++20三向比较运算符详解
  • 你的网站访客来自何方?GoAccess地理分析工具告诉你!
  • 图像生成中图像质量评估指标—FID介绍
  • IOS评论框不贴底(ios12新bug)
  • JavaScript的使用你知道几种?(上)
  • Java面向对象及其三大特征
  • Laravel 实践之路: 数据库迁移与数据填充
  • SAP云平台里Global Account和Sub Account的关系
  • spring boot下thymeleaf全局静态变量配置
  • 从零开始在ubuntu上搭建node开发环境
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于 Babel 的 npm 包最小化设置
  • 删除表内多余的重复数据
  • 使用 @font-face
  • 新版博客前端前瞻
  • 转载:[译] 内容加速黑科技趣谈
  • 容器镜像
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原创)可支持最大高度的NestedScrollView
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)visual stdio 书签功能介绍
  • (转载)(官方)UE4--图像编程----着色器开发
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .a文件和.so文件
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 6 redis操作类
  • .NET 使用配置文件
  • .net反编译的九款神器
  • .net反混淆脱壳工具de4dot的使用
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • ::before和::after 常见的用法
  • @ohos.systemParameterEnhance系统参数接口调用:控制设备硬件(执行shell命令方式)
  • [22]. 括号生成
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [Android实例] 保持屏幕长亮的两种方法 [转]