推荐:《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
标题链接:https://www.cdcxhl.com/article20/cggojo.html
成都网站建设公司_创新互联,为您提供软件开发、商城网站、网站维护、品牌网站制作、ChatGPT、品牌网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联