首頁 > web前端 > Vue.js > 關於vue使用驗證器: VeeValidate3

關於vue使用驗證器: VeeValidate3

藏色散人
發布: 2020-09-19 16:09:57
轉載
3602 人瀏覽過

關於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>
登入後複製

#顯示

vue使用验证器: VeeValidate3
vue使用验证器: VeeValidate3

vue使用验证器: VeeValidate3

##method處理

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> 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 =&gt; val.length &gt;= 1);           alert(errors[first_error_index][0])         }             // 弹出请输入11位的手机号码         ......     }</pre><div class="contentsignin">登入後複製</div></div>

#

this.$refs.form.validate()是一个promise,当然你也可以用then
登入後複製
吐槽


########################## ######2###簡單多了,我只是想做個簡單的驗證而已。 #########3###是受到###lar###啟發,個人感覺真蛋疼,超麻煩的。 ######每個###input###都要被###ValidationProvider###包裹才能驗證。 ###(應該把###input###封裝成自訂元件)###                         ###      

以上是關於vue使用驗證器: VeeValidate3的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板