推薦:《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: '請(qǐng)輸入11位的手機(jī)號(hào)碼',
validate: value => value.length === 11 && /^1[3456789]\\d{9}$/.test(value)
})
}}main.js 引入 vee-validate.js
import Validate from './vee-validate'Vue.use(Validate)
已經(jīng)安裝完成了
使用教程
新建表單
<template>
<ValidationObserver ref="form">
<form @submit.prevent="handleAddAddress">
<!-- 要驗(yàn)證的輸入框 -->
<ValidationProvider rules="required|phone" v-slot="{ errors }" name="手機(jī)號(hào)碼">
<input type="text" v-model="phone" />
{{ errors[0] }} <!-- 錯(cuò)誤信息顯示 -->
</ValidationProvider><button type="submit">確認(rèn)</button>
</form>
</ValidationObserver></template>顯示
method處理
methods:{
async checkValid () { // 是否驗(yàn)證通過(guò)
return this.$refs.form.validate();
},
async handleAddAddress(e){
let check = await this.checkValid();
if(! check) // 驗(yàn)證不通過(guò)
{
let errors = Object.values(this.$refs.form.errors);
let first_error_index = errors.findIndex(val => val.length >= 1);
alert(errors[first_error_index][0])
} // 彈出請(qǐng)輸入11位的手機(jī)號(hào)碼
......
}this.$refs.form.validate()是一個(gè)promise,當(dāng)然你也可以用then
吐槽
2簡(jiǎn)單多了,我只是想做個(gè)簡(jiǎn)單的驗(yàn)證而已。
3是受到lar啟發(fā),個(gè)人感覺(jué)真蛋疼,超麻煩的。
每個(gè)input都要被ValidationProvider包裹才能驗(yàn)證。
(應(yīng)該把input封裝成自定義組件)
網(wǎng)頁(yè)標(biāo)題:關(guān)于vue使用驗(yàn)證器:VeeValidate3
標(biāo)題鏈接:http://www.chinadenli.net/article20/cggojo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、商城網(wǎng)站、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、ChatGPT、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)