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系列(3) 全面解析Module模式
Jan 15 Javascript
js实现键盘控制DIV移动的方法
Jan 10 Javascript
jquery 遍历数组 each 方法详解
May 25 Javascript
JS实现的表格行上下移动操作示例
Aug 03 Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 Javascript
prototype.js简单实现ajax功能示例
Oct 18 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 Javascript
使用vue制作滑动标签
Sep 21 Javascript
javascript头像上传代码实例
Sep 28 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
Aug 14 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
PHP如何透过ODBC来存取数据库
2006/10/09 PHP
自己前几天写的无限分类类
2007/02/14 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
为输入框加入数字js校验代码分享
2017/11/02 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
Python切片知识解析
2016/03/06 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
高级工程师英文求职信
2014/03/19 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
医德医风自我评价
2014/09/19 职场文书
2014年技术部工作总结
2014/12/12 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
浅谈Python中对象是如何被调用的
2022/04/06 Python