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+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
如何让vue长列表快速加载
Mar 29 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
vue/cli 配置动态代理无需重启服务的方法
May 20 Vue.js
vue css 相对路径导入问题级踩坑记录
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数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
jquery获取当前点击对象的value方法
2014/02/28 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
Python标准库之Sys模块使用详解
2015/05/23 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
经典优秀个人求职信分享
2013/12/12 职场文书
简历的自我评价范文
2014/02/04 职场文书
小学音乐教学反思
2014/02/05 职场文书
活动策划求职信模板
2014/04/21 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
自我管理的活动方案
2014/08/25 职场文书
用电申请报告范文
2015/05/18 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
植树节新闻稿
2015/07/17 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
Nginx限流和黑名单配置
2022/05/20 Servers