您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關vue使用驗證器: VeeValidate3的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言
我用的是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的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。