基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)

时间:2013.03.07 发布人:l**j3004

基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)

已解决问题

谷歌l**j3004用户在2013.03.07提交了关于“宝马9系基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-03-03T10:58:21。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,没有什么华丽的语言,但是我对你的感谢不会减少 !

希望以下的回答,能够帮助你。

第1个回答

用户名:lovecwy99  

前言

开发过程中遇到了一个需求,根据用户选择的联系方式,动态改变输入框的检验条件,并且整个表单是可以增加的

**访问:动态表单校验

github(欢迎star):https://***.com/Mrblackant...

思考几个问题

1.整个问答表单是可新增的,所以要遍历生成;

2.联系方式(手机/座机)的切换,是要切换后边不同类型输入框还是只改变校验规则(本篇是动态改变校验规则兵洲怎)

实现

1.elementui的form表单实现校验的时候要给当前el-form-item加上prop属性,因为我们是遍历生成的表单,那我们的写法就要写成:

重点在prop属性

<templatev-for="(k,index)informData.lists"><el-form-item随贵队油往:ref="index+'concatValue'":prop="'lists.'+index+'.concatValu声些苦环别你e'":rules="k.rules委带守孙拉总等岩散依我"><el-inputv-model="k.concat滑亚系米吸Value"></el-input></el-form-item></template>

2.因为我选择了粒迫兰状较急景扩根据类型动态修改校验规则,而不是切换不同类型的输入框,

注意看下上文代码中的ref和rules,当类型切换时,对应的:rules=k.rules对应的规则也会进行粉买爱程修改,:ref属性是为了编积介弱践元飞剧望士度切换联系方式类型时,先**掉之前的提示

看下不同类型的校验规则,统一的先放到一个地方:

inputRule料速伟占更纪s:{//设置好需要的校验规则telep哥钟宜己厚hone:{pattern:/^1[3-9]\d{9}$/,message:'手机号格式错误',trigge房向协乱当r:'blur'},phone众老超针段山绿调越预:{pattern:/等故讨跑哪显裂抗著富规^\d{10,12}$/,message:'座机号格式错误',trigger:'blur'},Q培土清异植气推前歌Q:{pattern:/^[1-9][0-9]谈应穿回指还机压供事政{4,14}$/,message:'QQ且向若使格式错误',trigger:'blur'},mail:{pattern:/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,message:'邮箱格式错误',trigger:'blur'}},

3.如果你的联系方式的旨是必填的,可以先写一个统一的必填校验,省的在步骤2代码里重复写

constbaseRule=[{required:true,message:'请填写联系方式',trigger:'blur'}]

然后等切换校验类型的时候,把必填校验baseRule连接起来:

//给表单加上新的校验this.formData.lists[index].rules=[this.inputRules[data]].concat(baseRule)

动态表单校验、动态校验规则这块没有太难的地方,就是有时候会被绕晕,所以拿出来记录一下,大家有更好的方案欢迎指出

总结

以上所述是小编给大家介绍的基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

您可能感兴趣的文章:Vue+ElementUI实现表单动态渲染、可视化配置的方法VueElementUI之Form表单验遇到的问题VueElementUi同时校验多个表单(巧用newpromise)vueelementuiform表单验的实现使用Vue实现图片上传的三种方式vue-quill-editor实现图片上传功能vue.js图片上传并预览及图片更换功能的实现代码Vue2.0实现移动端图片上传功能基于vue-upload-component封装一个图片上传组件的示例vue+node实现图片上传及预览的示例方法vue+elementUI实现表单和图片上传及验功能示例