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实现点击当前行变色
Dec 14 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
vue 数据双向绑定的实现方法
Mar 04 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
详解Vue router路由
Nov 20 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 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 判断数组是几维数组
2013/03/20 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
laravel自定义分页效果
2017/07/23 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
JS跨域问题详解
2014/11/25 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
用python实现面向对像的ASP程序实例
2014/11/10 Python
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
django将数组传递给前台模板的方法
2019/08/06 Python
详细分析Python垃圾回收机制
2020/07/01 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
毕业生求职自荐信怎么写
2014/01/08 职场文书
寄语十八大感言
2014/02/07 职场文书
爱的承诺书
2015/01/20 职场文书
Python自动化测试PO模型封装过程详解
2021/06/22 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript