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 相关文章推荐
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
Dec 25 Javascript
JS实现的4种数字千位符格式化方法分享
Mar 02 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
Vue2 使用 Echarts 创建图表实例代码
May 18 Javascript
基于JS实现移动端左滑删除功能
Jul 28 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
Aug 17 Javascript
JavaScript多种滤镜算法实现代码实例
Dec 10 Javascript
小程序使用分包的示例代码
Mar 23 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
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中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
python创建关联数组(字典)的方法
2015/05/04 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
【python】matplotlib动态显示详解
2019/04/11 Python
10款最好的Python开发编辑器
2019/07/03 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
为什么要使用servlet
2016/01/17 面试题
法律专业推荐信范文
2013/11/29 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
家长会邀请书
2014/01/25 职场文书
综合实践教学反思
2014/01/31 职场文书
产品销售计划书
2014/05/04 职场文书
实习生矿工检讨书
2014/10/13 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
2015入党自传书范文
2015/06/26 职场文书