位置: IT常识 - 正文

结合表单验证谈el-form中model、prop、rules属性(表单验证用什么方法实现)

编辑:rootadmin
结合表单验证谈el-form中model、prop、rules属性 目录前言modelproprules验证总结前言

推荐整理分享结合表单验证谈el-form中model、prop、rules属性(表单验证用什么方法实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:表单验证trigger,表单验证方法一般有哪几种,表单验证实验报告,表单验证实验报告,表单验证原理,如何实现表单验证,如何实现表单验证,表单验证两种方式,内容如对您有帮助,希望把文章链接给更多的朋友!

最近写vue项目需要用element ui中的表单组件显示一些信息呈现在页面上,但在使用提供的一些属性时有些困惑——这三者之间有什么关系,必须要同时存在吗?于是在这里做一些记录。

model

官方说是表单中的数据对象,于是有

<el-form ref="form" :model="form" :rules="rules" label-width="100px"><el-form-item label="用户名" prop="name"> <el-input v-model="form.name"></el-input></el-form-item></el-form>

其中form数据已存于date

form: { name: '',//这里是空的但截图有值 因为该项目需要拿取后端传来的用户信息 但不影响阅读 },prop

prop是form-item里的属性:

rules结合表单验证谈el-form中model、prop、rules属性(表单验证用什么方法实现)

这个应该最好理解 就是传入对表单内容的约束条件 比如date下面的rules里就有对name的约束

rules: { name: [ { required: true, message: '请输入用户名', trigger: 'blur' }, { min: 3, max: 16, message: '长度在 3 到 16 个字符', trigger: 'blur' } ], }

配置完后的效果图:(上面代码只针对name项,也就是用户名,这里只针对name项讨论。截图含有写的其他项,但不影响阅读) 当触发约束条件时也奏效:

验证

把model去掉后: 页面的数据都能渲染,就是验证失了控,不管你做什么仿佛它都看不见值,显示的是没有任何输入信息才会触发的红字。看来model的作用是为rules校验传递一个能提供被检测内容的源数据。 去掉prop 把prop去掉后直接失去验证效果 prop与model不同名和rules匹配

上面el-form-item里的prop改成了na,下面date里的rules相应改成na:效果和第一种情况一样。

总结

验证表单的过程可以拆解为取值和验证两个过程。 取值是通过model获取源数据、借助prop进而获取被检测的信息。因此没有model自然没了内容,但是验证的过程是存在的,只是一直拿的空值去验证,所以一直都是“请输入用户名”的红字出现。没了prop也是影响到了这一过程。 验证是通过prop与rule的内容进行比对,但prop仅仅是找到rule的相关“条例”,与条例比较的始终还是model借助prop获取的信息。因此没了prop同样影响这一过程——又没源数据又没供你依照的规则,自然就毫无验证功能可言。 而当prop和form表单中的key值不一样但又能和rules匹配时(上图第三种情况),第一条取值的现走不通,第二条验证的线能走通,还是出现了第一种情况的后果。

精简一点就是,model和rules就像一个对象,prop就是两者的属性值,通过prop取值取“条例”进行验证。 然后看到这位博主的理解:

所以我们大致了解的el-form 中 model的作用:目前看来主要是为了配合表单验证。里面的逻辑大概是,在el-form-item上写一个prop,这个prop左手对应着数据源(即用model.prop找到对应的数据源),右手对应着验证规则(即用rules.prop找到对应的规则),然后才能快乐的验证。

也是很形象哒!

本文链接地址:https://www.jiuchutong.com/zhishi/298429.html 转载请保留说明!

上一篇:没有关系的话,那就去建立关系吧(没有关系怎么表达)

下一篇:Layui的基本使用(前端登录操作步骤)(layui 使用)

  • 微博营销的几大优势(微博营销的基本概念和营销特点)

  • 荣耀magic3怎么换壁纸(荣耀magic3怎么换手机铃声)

  • 苹果手表口罩解锁怎么设置(苹果手表口罩解锁教程)

  • ios15支持模拟门禁卡吗(ios15 模拟nfc)

  • 微信公众号头像模糊怎么办(微信公众号头像暂时无法查看)

  • 拼多多是以什么模式形成规模效应的(拼多多是以什么形式规模效应的)

  • 盯盯拍提醒储存卡异常(盯盯拍老是说存储异常怎么设置)

  • 2mp是多少像素(108mp+8mp+2mp是多少像素)

  • 小红书看别人会有访问记录吗(小红书看别人会留下足迹吗)

  • 苹果手机照片共享是什么意思(苹果手机照片共享出错)

  • 电视如何下载爱奇艺(电视如何下载爱奇艺app)

  • 小米插排usb电流声大(小米插排的usb电压)

  • ipad新机充电注意事项(新买的ipad 充电)

  • 苹果手机在充电但是没有显示怎么办(苹果手机在充电的时候老是自动重启)

  • 不能与打印机通讯什么原因(不能与打印机通讯关于墨水)

  • 华为mate30pro国内售价大概多少(mate30pro国内价格)

  • 抖音删除的视频怎么恢复(怎么样恢复抖音删除的视频)

  • 苹果x是双网双待吗(苹果x双网是什么版本)

  • 反向充电怎么充(一加ace2反向充电怎么充)

  • 微信号变成wxid怎么办(微信号变成wxid是不是拉黑了)

  • xr原彩显示有什么好处(xr的原彩显示)

  • ps怎么给图片增加颗粒感(ps怎么给图片增加文字)

  • 怎么取消唱吧自动续费(如何取消唱吧自动续费功能)

  • 微信耗电量大怎么解决(微信耗电量大怎么解决安卓)

  • PHPCMS 后台怎么备份数据库(phpcms视频教程)

  • 帝国CMS报错Table ‘empirecms.phome_ecms_’ doesn’t exist怎么解决(帝国cms8.0)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络