Vue vee-validate插件的简单使用


Posted in Vue.js onJune 22, 2021
目录
  • 1.安装
  • 2.导入
  • 3.定义校验规则(最好是在utils文件夹中单独封装js文件导出)
  • 4.使用Form组件配置校验规则和错误对象 (form 和 Field都是从插件中按需导出)
  • 5.使用 Field 组件,添加表单项目校验
  • 6.补充表单数据和验证规则数据

 

1.安装

npm i vee-validate@4.0.3

 

2.导入

import { Form, Field } from 'vee-validate'

 

3.定义校验规则(最好是在utils文件夹中单独封装js文件导出)

// 创建js文件进行导出
export default {
  // 校验项account
  account (value) {
    if (!value) return '不能为空'// 条件判断,
    return true // 最后全部通过必须return true
  },
  password (value) {
    if (!value) return '请输入密码'
    if (!/^\w{6,24}$/.test(value)) return '密码是6-24个字符'
    return true
  },
  mobile (value) {
    if (!value) return '请输入手机号'
    if (!/^1[3-9]\d{9}$/.test(value)) return '手机号格式错误'
    return true
  },
  code (value) {
    if (!value) return '请输入验证码'
    if (!/^\d{6}$/.test(value)) return '验证码是6个数字'
    return true
  },
  isAgree (value) {
    if (!value) return '请勾选同意用户协议'
    return true
  }
}

 

4.使用Form组件配置校验规则和错误对象 (form 和 Field都是从插件中按需导出)

// validation-schema="mySchema"  配置校验规则
// v-slot:导出错误对象
<Form
  :validation-schema="mySchema"
  v-slot="{ errors }"
>
 <!-- 表单元素 -->
</Form>

<script>
  import schema from '@/utils/vee-validate-schema'
  setup () {
    // 表单对象数据
    const form = reactive({
      account: null, // 账号
      password: null // 密码
    })
    // 校验规则对象
    const mySchema = {
      account: schema.account,
      password: schema.password
    }
    return { form, mySchema }
 } 
</script>

 

5.使用 Field 组件,添加表单项目校验

//1. 把input改成 `Field` 组件,默认解析成input
//2. `Field` 添加name属性,作用是指定使用schema中哪个校验规则
//3. `Field`添加v-model,作用是提供表单数据的双向绑定
//4. 发生表单校验错误,显示错误类名`error`,提示红色边框

<Field
      v-model="form.account"
      name="account" 
      type="text"
      placeholder="请输入用户名"
      :class="{ error: errors.account }" // 如果返回错误信息,为true 显示类error
    />
    <!-- <input type="text" placeholder="请输入用户名" /> -->

 

6.补充表单数据和验证规则数据

// 表单绑定的数据
const form = reactive({
  account: null, // 账号
  password: null, // 密码
  isAgree: true // 是否选中
})

// 声明当前表单需要的校验数据规则
const curSchema = reactive({
  account: schema.account, // 账号
  password: schema.password, // 密码
  isAgree: schema.isAgree // 是否选中
})

以上就是Vue vee-validate插件的简单使用的详细内容,更多关于Vue vee-validate插件的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
Vue如何实现验证码输入交互
Dec 07 Vue.js
vue实现登录功能
Dec 31 Vue.js
vscode自定义vue模板的实现
Jan 27 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
基于vue的video播放器的实现示例
Feb 19 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
vue3使用vue-router的完整步骤记录
一篇文章学会Vue中间件管道
Jun 20 #Vue.js
Vue过滤器(filter)实现及应用场景详解
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 #Vue.js
Vue中插槽slot的使用方法与应用场景详析
vue+elementui 实现新增和修改共用一个弹框的完整代码
You might like
如何使用PHP中的字符串函数
2006/10/09 PHP
PHP+DBM的同学录程序(3)
2006/10/09 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
分析python动态规划的递归、非递归实现
2018/03/04 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
实例详解Python模块decimal
2019/06/26 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
在校硕士自我鉴定
2014/01/23 职场文书
医生个人年终总结
2015/02/28 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
党员反邪教心得体会
2016/01/15 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python