vuelidate的表單驗證插件的使用

在vue中饭入,我們使用vuelidate實現表單驗證挪捕,達到限制用戶輸入的目的,以及提交時驗證表單的目的写妥。
查看官方文檔

第一步:安裝

可以通過npm安裝

   npm install vuelidate --save

然后導入到main.js中

import Vue from 'vue'
import Vuelidate from 'vuelidate'
Vue.use(Vuelidate)

第二步:在組件中使用

綁定數據需要用==v-model.trim==綁定苇倡,使用this.$v.user.user_name.$touch()去觸發(fā)驗證事件富纸,this.$v.user.user_name.required為true時表示驗證通過

<template>
    <form>
        <input type="text" class="userName" placeholder="請輸入用戶名" v-model.trim="user.user_name">
         <input type="button" value="登錄" class="submit" @click="login">
    </form>
</template>
import { required} from 'vuelidate/lib/validators'
export default {
data(){
        return {
            user:{
                user_name:"",
                }
         }
     },
validations: {
        user: {
            user_name: {
            required,
            },
        }
  },
   methods:{
        login(){
            this.$v.user.user_name.$touch()
            if(!this.$v.user.user_name.required){
                Toast('用戶名不能為空');
            }
         }
}

補充:自定義驗證規(guī)則

新建js文件,在文件中引入
列子:基于正則表達式的驗證器

//js文件
import { helpers } from 'vuelidate/lib/validators'
export var phone = helpers.regex('phone', /^1(3|4|5|7|8)\d{9}$/);

//組件中
import {phone} from "../../api/validate.js"
validations: {
            user: {
                mobile: {
                phone,
                },   
          }

基于定位器的驗證器
如果您想使用locator策略(與sameAs或requiredIf內置驗證器中的定位器策略完全相同)旨椒,您可以使用ref helper來實現這一點晓褪,其方式與在這兩個驗證器中使用定位器的方式完全相同。

import { req, ref, withParams } from './common'

export default (prop) =>
  withParams({ type: 'requiredIf', prop }, function(value, parentVm) {
    return ref(prop, this, parentVm) ? req(value) : true
  })
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末综慎,一起剝皮案震驚了整個濱河市涣仿,隨后出現的幾起案子,更是在濱河造成了極大的恐慌示惊,老刑警劉巖好港,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異米罚,居然都是意外死亡钧汹,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門录择,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拔莱,“玉大人,你說我怎么就攤上這事隘竭√燎兀” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵动看,是天一觀的道長尊剔。 經常有香客問我,道長弧圆,這世上最難降的妖魔是什么赋兵? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮搔预,結果婚禮上,老公的妹妹穿的比我還像新娘叶组。我一直安慰自己拯田,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布甩十。 她就那樣靜靜地躺著船庇,像睡著了一般吭产。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸭轮,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天臣淤,我揣著相機與錄音,去河邊找鬼窃爷。 笑死邑蒋,一個胖子當著我的面吹牛,可吹牛的內容都是我干的按厘。 我是一名探鬼主播医吊,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逮京!你這毒婦竟也來了卿堂?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤懒棉,失蹤者是張志新(化名)和其女友劉穎草描,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體策严,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡穗慕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了享钞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揍诽。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖栗竖,靈堂內的尸體忽然破棺而出暑脆,到底是詐尸還是另有隱情,我是刑警寧澤狐肢,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布添吗,位于F島的核電站,受9級特大地震影響份名,放射性物質發(fā)生泄漏碟联。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一僵腺、第九天 我趴在偏房一處隱蔽的房頂上張望鲤孵。 院中可真熱鬧,春花似錦辰如、人聲如沸普监。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凯正。三九已至毙玻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間廊散,已是汗流浹背桑滩。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留允睹,地道東北人运准。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像擂找,于是被迫代替她去往敵國和親戳吝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5贯涎? 答:HTML5是最新的HTML標準听哭。 注意:講述HT...
    kismetajun閱讀 27,486評論 1 45
  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容塘雳。關于...
    云之外閱讀 5,050評論 0 29
  • AngularJS是什么陆盘?AngularJs(后面就簡稱ng了)是一個用于設計動態(tài)web應用的結構框架。首先败明,它是...
    200813閱讀 1,607評論 0 3
  • 前端開發(fā)面試題 <a name='preface'>前言</a> 只看問題點這里 看全部問題和答案點這里 本文由我...
    自you是敏感詞閱讀 761評論 0 3
  • 簡單來說就是將jdbc的連接信息例如:驅動隘马,連接地址、數據庫賬戶妻顶、數據庫密碼等放在 xx.properties文件...
    琴匣自鳴閱讀 1,299評論 0 1