您好,欢迎访问一九零五行业门户网

关于vue使用验证器: VeeValidate3

推荐:《vue.js教程》
前言
我用的是vee-validate版本为3.3.7
安装教程
cnpm install vee-validate --save
新建文件vee-validate.js
import { extend, validationobserver, validationprovider, localize } from 'vee-validate'import { required, email, min, between, numeric } from 'vee-validate/dist/rules'import zh_cn from 'vee-validate/dist/locale/zh_cn.json';localize('zh_cn',zh_cn) // 配置中文export default {  install (vue) {    vue.component('validationobserver', validationobserver)    vue.component('validationprovider', validationprovider)    extend('required', required)    extend('email', email)    extend('min', min)    extend('between', between)    extend('numeric', numeric)    extend('phone', {      message: '请输入11位的手机号码',      validate: value => value.length === 11 && /^1[3456789]\d{9}$/.test(value)    })  }}
main.js 引入 vee-validate.js
import validate from './vee-validate'vue.use(validate)
已经安装完成了
使用教程
新建表单
<template> <validationobserver ref="form"> <form @submit.prevent="handleaddaddress">  <!-- 要验证的输入框 --> <validationprovider rules="required|phone" v-slot="{ errors }" name="手机号码">  <input type="text" v-model="phone" />     {{ errors[0] }} <!-- 错误信息显示 --> </validationprovider><button type="submit">确认</button> </form> </validationobserver></template>
显示
method处理
 methods:{      async checkvalid () { // 是否验证通过        return this.$refs.form.validate();      },      async handleaddaddress(e){        let check = await this.checkvalid();        if(! check) // 验证不通过        {          let errors = object.values(this.$refs.form.errors);          let first_error_index = errors.findindex(val => val.length >= 1);          alert(errors[first_error_index][0])        }            // 弹出请输入11位的手机号码        ......    }
this.$refs.form.validate()是一个promise,当然你也可以用then
吐槽
2简单多了,我只是想做个简单的验证而已。
3是受到lar启发,个人感觉真蛋疼,超麻烦的。
每个input都要被validationprovider包裹才能验证。
(应该把input封装成自定义组件)                                                      
以上就是关于vue使用验证器: veevalidate3的详细内容。
其它类似信息

推荐信息