溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue使用驗(yàn)證器: VeeValidate3的示例

發(fā)布時(shí)間:2021-01-27 11:48:51 來源:億速云 閱讀:397 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)vue使用驗(yàn)證器: VeeValidate3的示例,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

前言

我用的是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位的手機(jī)號碼',
      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ī)號碼">
  <input type="text" v-model="phone" />
     {{ errors[0] }} <!-- 錯(cuò)誤信息顯示 -->
 </ValidationProvider><button type="submit">確認(rèn)</button>
 </form>

 </ValidationObserver></template>

顯示

vue使用驗(yàn)證器: VeeValidate3的示例vue使用驗(yàn)證器: VeeValidate3的示例

method處理

 methods:{

      async checkValid () { // 是否驗(yàn)證通過
        return this.$refs.form.validate();
      },
      async handleAddAddress(e){
        let check = await this.checkValid();
        if(! check) // 驗(yàn)證不通過
        {
          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位的手機(jī)號碼

        ......
    }

vue使用驗(yàn)證器: VeeValidate3的示例

this.$refs.form.validate()是一個(gè)promise,當(dāng)然你也可以用then

吐槽

2簡單多了,我只是想做個(gè)簡單的驗(yàn)證而已。

3是受到lar啟發(fā),個(gè)人感覺真蛋疼,超麻煩的。

每個(gè)input都要被ValidationProvider包裹才能驗(yàn)證。
(應(yīng)該把input封裝成自定義組件)                        

關(guān)于“vue使用驗(yàn)證器: VeeValidate3的示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI