Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验


Posted in Javascript onApril 22, 2019

Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息。它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开箱即用,还支持自定义正则表达式。而且支持 40 多种语言,对本地化、多语言支持非常友好。

国内饿了么团队开源项目 Element UI 就用到了 vee-validate 。

vee-validate 官网:https://baianat.github.io/vee-validate/

1. 安装

安装 vee-validate 到项目中

npm install vee-validate --save

2. 创建 vee-validate 插件

a. 创建插件

在 Nuxt.js 项目 plugins 目录下创建 veevalidate.js 。

b. 引入、配置 vee-validate

import Vue from 'vue'
import zhCN from 'vee-validate/dist/locale/zh_CN' // 引入本地化语言
import VeeValidate, { Validator } from 'vee-validate' // 引入 vee-validate
// 覆盖默认错误信息提示
zhCN.messages.email = () => '请输入正确的邮箱地址'
Vue.use(VeeValidate)
// 本地化
Validator.localize('zh_CN', zhCN)

3. 引入 vee-validate 到项目中

在 nuxt.config.js 中引入刚才配置好的插件 veevalidate.js

/*
** Plugins to load before mounting the App
*/
plugins: [
  '@/plugins/veevalidate'
],

4. 表单页实现自定义错误提示、自定义检验规则

HTML 表单

<form action="">
 <van-cell-group>
  <van-field placeholder="请输入有效邮箱" type="email" v-model="email" name="email"
   v-validate="'required|email'" :error-message="errors.first('email')" />
  <van-field placeholder="请输入密码" v-model="password" type="password" name="password"
   v-validate="{ min: 3, max: 16, regex: regexps.password }" :error-message="errors.first('password')">
  </van-field>
 </van-cell-group>
</form>

JS

a. 自定义错误提示信息

// 自定义错误信息提示
const validateDict = {
 custom: {
  email: {
   required: '请输入电子邮箱', // 覆盖 email 字段的 required 规则默认信息提示
   email: '请输入有效的电子邮箱地址' // 覆盖 email 字段的 email 规则默认信息提示
  },
  password: {
   min: '密码长度在7-26个字符', // 覆盖 password 字段的 min 规则默认信息提示
   max: '密码长度在7-26个字符', // 覆盖 password 字段的 max 规则默认信息提示
   regex: '需包含大写字母、小写字母、数字、特殊字符中任意三项' // 覆盖 email 字段的 regex 规则默认信息提示
  }
 }
}

b. Vue 中覆盖默认配置,使用自定义提示信息

data () {
 regexps: {
  password: new RegExp('') // 密码检验自定义正则表达式
 },
},
created() {
 this.$validator.localize('zh_CN', validateDict)
},

5. 效果截图

Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

总结

以上所述是小编给大家介绍的Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript中万恶的function实例分析
May 25 Javascript
基于jquery的web页面日期格式化插件
Nov 15 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
jquery浏览器滚动加载技术实现方案
Jun 03 Javascript
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
jquery常用函数与方法汇总
Sep 01 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
js实现移动端编辑添加地址【模仿京东】
Apr 28 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
vue遍历生成的输入框 绑定及修改值示例
Oct 30 Javascript
node事件循环和process模块实例分析
Feb 14 Javascript
vue 项目build错误异常的解决方法
Apr 22 #Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 #Javascript
今天,小程序正式支持 SVG
Apr 20 #Javascript
详解Vue中组件的缓存
Apr 20 #Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 #Javascript
优雅地使用loading(推荐)
Apr 20 #Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 #Javascript
You might like
php实现通过ftp上传文件
2015/06/19 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
关于跨站脚本攻击问题
2011/12/22 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
jquery实现动态画圆
2014/12/04 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python编程使用协程并发的优缺点
2018/09/20 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
Django Rest framework频率原理与限制
2019/07/26 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
幼教求职信
2014/03/12 职场文书
护校行动方案
2014/05/31 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
人事聘任通知
2015/04/21 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL