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下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
Prototype源码浅析 Number部分
Jan 16 Javascript
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
Aug 23 Javascript
js小数运算出现多位小数如何解决
Oct 08 Javascript
基于jquery实现下拉框美化特效
Feb 02 Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
Apr 20 Javascript
基于构造函数的五种继承方法小结
Jul 27 Javascript
seajs下require书写约定实例分析
May 16 Javascript
关于vue-router的那些事儿
May 23 Javascript
Vue组件化开发之通用型弹出框的实现
Feb 28 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
vue实现循环切换动画
2018/10/17 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
详解python的变量缓存机制
2021/01/24 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
服务型党组织建设典型材料
2014/05/07 职场文书
文秘应届生求职信
2014/07/05 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
python flask框架快速入门
2021/05/14 Python
JavaScript函数柯里化
2021/11/07 Javascript
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
nginx容器方式反向代理实战
2022/04/18 Servers
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js