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 1.0.2
Oct 11 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
jQuery+Ajax实现无刷新操作
Jan 04 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
原生JavaScript实现AJAX、JSONP
Feb 07 Javascript
Angular2学习教程之ng中变更检测问题详解
May 28 Javascript
js实现一个简单的MVVM框架示例
Jan 15 Javascript
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
js 判断当前时间是否处于某个一个时间段内
Sep 19 Javascript
vue在图片上传的时候压缩图片
Nov 18 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
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
JavaScript对象模型-执行模型
2008/04/28 Javascript
基于JQuery的cookie插件
2010/04/07 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
python实现人机猜拳小游戏
2020/02/03 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
高中体育教学反思
2014/01/24 职场文书
总经理司机职责
2014/02/02 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
安全标兵事迹材料
2014/08/17 职场文书
单位委托书格式范本
2014/09/29 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python
选购到合适的激光打印机
2022/04/21 数码科技