Vue中使用vee-validate表单验证的方法


Posted in Javascript onMay 09, 2018

Vue项目遇到要表单验证了吧,对我来说表单验证是个很纠(dan)结(teng)的内容,各种判断凌乱到飞起。往常使用jquery的validate插件做表单验证方便吧,你也可以在Vue里引入jquery的validate插件(如何引入jquery在我上一篇博文有介绍,点击查看)。但是我们是做vue项目也,不到实在解决不了还是建议不要引入,因为Vue自己就有表单验证的插件,那就是vee-validate。

我在这并不是详细讲解vee-validate的使用功能,只是快速了解如何在项目里使用vee-validate,做项目时哪有那么多时间让你去熟悉一个插件,肯定先搞定了再说,具体熟悉掌握了解请自行查阅相关资料。

1.npm安装vee-validate:npm install vee-validate --save --registry=https://registry.npm.taobao.org --verbose

2.安装成功后在main.js中引入:

Vue中使用vee-validate表单验证的方法

3.在你要进行表单验证的input标签加入相关的代码:

Vue中使用vee-validate表单验证的方法

注意:

(1)errors打印出来是这样的:{ "item": [ { "id": "_9e6hk2qh2", "field": "email", "msg": "email 是必须的", "rule": "email", "scope": null } ] },span标签通过errors的几个方法来进行显示隐藏和提示错误,这里列出几个常用的errors方法: errors.first('field'):当前field的第一个错误信息,字符串 errors.collect('field'):当前field的所有错误信息,数组列表 errors.has('field'):当前filed是否有错误,布尔值 errors.all():当前表单所有错误,数组列表 errors.any():当前表单是否有任何错误,布尔值

(2)v-validate="'required | email'"有两个验证,一个是为空验证,一个是输入错误验证,你想要多少种验证就在这里写。比如你要限制字数,那就加多个max,即v-validate="'required | email | max:9'"。

(3)name属性一定要写,span标签是展示错误提示的。其实此时已经基本完成表单验证了,只是出现的提示是插件提供的默认提示,比如email的错误提示如下图所示,这肯定不是我们想要的,我们需要定义一下。

Vue中使用vee-validate表单验证的方法
Vue中使用vee-validate表单验证的方法

4.定义成我们需要的文字提示:

Vue中使用vee-validate表单验证的方法

效果如下:

Vue中使用vee-validate表单验证的方法

Vue中使用vee-validate表单验证的方法

其中field获取的是attributes中的email的value值,也就是'邮箱'。vee-validate提供了一些规则,具体可以去vee-validate官网查看。

 5.接下来是重点:自定义规则。以下是自定义身份证号验证的demo:

Vue中使用vee-validate表单验证的方法Vue中使用vee-validate表单验证的方法

效果如下:

Vue中使用vee-validate表单验证的方法

Vue中使用vee-validate表单验证的方法

如果需求里不需要多一个提示的标签,只需要在错误验证时显示警示颜色,那可以通过在input标签上写:class="{error:error.has('idCard')}"来实现。至此已经可以满足基本的验证需求了,更多的vee-validate插件功能会在往后更新完善,希望对大家有帮助。

总结

以上所述是小编给大家介绍的Vue中使用vee-validate表单验证的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 继承实现例子
Aug 12 Javascript
JavaScript 事件的一些重要说明
Oct 25 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
jQuery实现的动态伸缩导航菜单实例
May 07 Javascript
AngularJS基础 ng-selected 指令简单示例
Aug 03 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
vue中axios实现数据交互与跨域问题
May 12 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
javascript canvas实现简易时钟例子
Sep 05 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 #Javascript
vue实现2048小游戏功能思路详解
May 09 #Javascript
vue中父子组件注意事项,传值及slot应用技巧
May 09 #Javascript
vue中的provide/inject的学习使用
May 09 #Javascript
详解Vue 多级组件透传新方法provide/inject
May 09 #Javascript
自定义vue组件发布到npm的方法
May 09 #Javascript
React Navigation 使用中遇到的问题小结
May 08 #Javascript
You might like
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
网友原创的PHP模板类代码
2008/09/07 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
表单内同名元素的控制
2006/11/22 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python编写简单的HTML页面合并脚本
2016/07/11 Python
详谈python http长连接客户端
2017/06/12 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
python计算auc的方法
2020/09/09 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
中学生思想品德评语
2014/12/31 职场文书
毕业生政审意见范文
2015/06/04 职场文书
浪漫婚礼主持词开场白
2015/11/24 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
导游词之天津盘山
2019/11/01 职场文书
Python 如何安装Selenium
2021/05/06 Python
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang