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项目实现主题切换的多种方法
Nov 26 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
在vue项目中封装echarts的步骤
Dec 25 Vue.js
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
vue使用element-ui按需引入
May 20 Vue.js
Vue 打包后相对路径的引用问题
Jun 05 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 函数语法介绍一
2009/06/14 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
jquery 验证用户名是否重复代码实例
2019/05/14 jQuery
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
react 原生实现头像滚动播放的示例
2020/04/21 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
python获取android设备的GPS信息脚本分享
2015/03/06 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python学习开发mock接口
2019/04/28 Python
Puppeteer使用示例详解
2019/06/20 Python
python 字符串追加实例
2019/07/20 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
自荐信格式的六要素
2013/09/21 职场文书
大学旷课检讨书
2014/01/28 职场文书
出纳会计岗位职责
2014/03/12 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
医药销售自我评价200字
2014/09/11 职场文书
道歉情书大全
2015/05/12 职场文书
入党后的感想
2015/08/10 职场文书