Vue表单校验插件Vuerify使用详细教程及示例

前言

表单校验,在开发中是非常常见的,为了防止用户误操作,填写错误数据,亦或是防止用户恶意提交数据等,都需要前端同学来做一些简单的表单校验,虽然只是用来防君子的。今天就为大家推荐一款Vue表单校验插件:Vuerify。

Vue表单校验插件Vuerify使用详细教程

什么是Vuerify?

Vuerify 是一款轻量级的数据校验 Vue 插件,同时支持 Vue 1 和 2。可以使用正则、函数定义校验规则,也可以调用全局设置的规则。 插件会在 Vue 实例上注册一个 $vuerify 对象,会对声明的数据进行 watch,实时校验数据合法性。 同时提供的指令还能方便的操作 DOM。

简单的讲:Vuerify就是自定义指令,用来校验页面填写数据。

Vuerify API

它的API也是相当的简介啊,所以轻量。

namedescriptiontypedefault Value
$errors数据校验失败的错误信息, 例如 username 校验失败会返回 { username: ‘至少 4 位字符’ };如果 username 是数组,那么这里返回的也是数组类型Object{}
invalid存在校验失败的字段Booleantrue
valid不存在校验失败的字段Booleanfalse
check检查指定字段,传入数组,返回BooleanFunction(Array)
clear清空错误列表Function-

这里重点说一下check()方法,这里说了校验指定字段,传入数组,很多同学容易忽略这个,直接用check()方法,校验所有的项目,但是有时候不需要校验所有,比如:分步骤填写的页面,先校验第一步,再下一步,这时候传入数组来校验,就至关重要了。

如何使用Vuerify?

npm i vuerify -S

然后我们通过一个简单示例来给大家讲讲具体使用方法

<template>
  <el-form ref="form" :model="form" label-width="80px">
    <el-form-item label="活动名称">
      <el-input v-model="form.name" v-vuerify="form.name"></el-input>
      <span class="error" v-if="errors['form.name']">{{errors['form.name']}}</span>
    </el-form-item>
    <el-form-item label="活动描述">
      <el-input type="textarea" v-model="form.desc" v-vuerify="form.desc"></el-input>
      <span class="error" v-if="errors['form.desc']">{{errors['form.desc']}}</span>
    </el-form-item>
    <el-form-item label="活动标签">
      <el-input v-model="form.label" v-vuerify="form.label"></el-input>
      <span class="error" v-if="errors['form.label']">{{errors['form.label']}}</span>
    </el-form-item>
    <div>错误:{{errors}}</div>
    <el-form-item>
      <el-button type="primary" @click="onSubmit">立即创建</el-button>
      <el-button>取消</el-button>
    </el-form-item>
  </el-form>
</template>

这里我们在input上面使用v-vuerify指令,来匹配校验规则。同时,判断计算属性computed里面的errors,有没有对应的错误,有并将错误显示出来。

js代码

// 引入插件
import Vue from 'vue'
import Vuerify from 'vuerify'
Vue.use(Vuerify)

export default {
  data() {
    return {
      form: {
        name: '',
        desc: '',
        label: ''
      }
    }
  },
  // 设置校验规则
  vuerify: {
    'form.name': {
      test: /\w{4,}/,
      message: '至少 4 位字符'
    },
    'form.desc': {
      test: /\w{10,}/,
      message: '至少 10 位字符'
    },
    'form.label': {
      test: /\w{4,}/,
      message: '至少 4 位字符'
    }
  },
  computed: {
    // 计算属性,获取校验不通过的对象
    // 如 { "form.name": "至少 4 位字符", "form.desc": "至少 10 位字符" }
    errors () {
      return this.$vuerify.$errors
    }
  },
  methods: {
    onSubmit() {
      let verifyList = ['form.name', 'form.desc'];
      // check() 校验所有规则,参数可以设置需要校验的数组
      if(!this.$vuerify.check(verifyList)){
        return;
      }
      console.log('验证通过');
    }
  }
}

最后点击onSubmit,来再次校验。但是我们这里传了需要校验的数组,只校验2个字段。

示例:

这里直接点击按钮,校验之后校验前面2个字段:
Vue表单校验插件Vuerify使用详细教程

每个字段分别录入,实时校验:
Vue表单校验插件Vuerify使用详细教程

是不是超级简单的就实现了你一直想要的效果了?留言说说你的看法,或者留下你宝贵意见。


作者:向建峰_Javan
链接:http://www.imooc.com/article/285294
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值