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 相关文章推荐
深入了解Vue3模板编译原理
Nov 19 Vue.js
解决vue页面刷新,数据丢失的问题
Nov 24 Vue.js
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
Vue实现简易购物车页面
Dec 30 Vue.js
vue 动态创建组件的两种方法
Dec 31 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
vscode自定义vue模板的实现
Jan 27 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JavaScript的目的分析
2007/01/05 Javascript
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
Python中的字符串替换操作示例
2016/06/27 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
Python中str.join()简单用法示例
2018/03/20 Python
Python双向循环链表实现方法分析
2018/07/30 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
大专生自荐信
2013/10/04 职场文书
打造完美自荐信
2014/01/24 职场文书
年度考核自我鉴定
2014/03/19 职场文书
总经理任命书
2014/03/29 职场文书
协议书样本
2014/04/23 职场文书
运动会演讲稿
2014/05/07 职场文书
体育个人工作总结
2015/02/09 职场文书
村党组织公开承诺书
2015/04/30 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
Vue的生命周期一起来看看
2022/02/24 Vue.js