vue表單驗(yàn)證組件 v-verify-plugin

最近在整vue的表單驗(yàn)證深寥,各種找插件;現(xiàn)在網(wǎng)上瘋傳的幾種都試過了块仆,各種報(bào)錯构蹬,心都涼了王暗,抱著不撞南墻不回頭的的心態(tài)(ps:懶癌發(fā)作);終于找到了v-verify-plugin這個插件庄敛;頭大的是最終自定義組件的時候終會報(bào)錯俗壹,要哭了有沒有?藻烤?绷雏?耗費(fèi)一天,終于曲線救國成功怖亭,不廢話之众,接下來一起看看吧

一、安裝

    npm install vue-verify-plugin -S

二依许、初始 demo

  <template>
        <div class="input-box clearFix">
            <div>
                <input v-model="age" v-verify="age" placeholder="age"/>
                <label class="fl" v-remind="age"></label>
            </div>
            <div>
                <input type="text" class="phoneIcon fl" placeholder="手機(jī)號碼" v-model="regInfo.phone" v-verify="regInfo.phone">
                <label class="fl" v-remind="regInfo.phone"></label>
            </div>
            <button v-on:click="submit">提交</button>
        </div>
    </template>

    <script>
        import Vue from "vue";
        import verify from "vue-verify-plugin";
        Vue.use(verify,{
            blur:true
        });

        export default {
            name: 'app',
            data () {
                return {
                    age:"",
                    regInfo: {
                        phone: ""
                    }
                }
            },
            verify: {
               age:"required",
               regInfo: {
                    phone: ["required","mobile"]
                }
            },
            methods:{
                submit: function () {
                    console.log(this.$verify.check());
                }
            }
        }
    </script>

指令說明

v-verify

在表單控件元素上創(chuàng)建數(shù)據(jù)的驗(yàn)證規(guī)則,他會自動匹配要驗(yàn)證的值以及驗(yàn)證的規(guī)則缀蹄。

v-verify 修飾符說明

該指令最后一個修飾符為自定義分組//自定義teacher分組

    //自定義teacher分組
    v-verify.teacher
    //自定義student分組
    v-verify.student

    //驗(yàn)證時可分開進(jìn)行驗(yàn)證  

    //驗(yàn)證student 分組
    this.$verify.check("student")
    //驗(yàn)證teacher 分組
    this.$verify.check("teacher")
    //驗(yàn)證所有
    this.$verify.check();

v-verify指令也可使用 arg參數(shù)進(jìn)行驗(yàn)證分組

如果同時使用修飾符和arg分組 則arg會覆蓋修飾符分組

    v-verify:student
    //驗(yàn)證student 分組
    this.$verify.check("student")

v-remind 和 v-verified 驗(yàn)證錯誤提示

不得不吐槽一下峭跳,v-remind在自定義規(guī)則(或者說要驗(yàn)證長度的規(guī)則死報(bào)錯有木有)
至于v-verified在2.0中已經(jīng)被v-remind取代,但是在自定義規(guī)則中必須要用缺前,手動藍(lán)瘦

默認(rèn)驗(yàn)證規(guī)則

  • email 郵箱規(guī)則驗(yàn)證

  • mobile 手機(jī)號碼驗(yàn)證

  • required 必填

  • url 鏈接規(guī)則驗(yàn)證

  • maxLength 最多maxLength個字符串(可自定義message)

  • minLength 最少minLength個字符串(可自定義)

     <template>
       <div class="input-box clearFix">
         <div>
           <input type="text" class="phoneIcon fl" placeholder="手機(jī)號碼" v-model="mobile" v-verify="mobile">
           <label class="fl" v-remind="mobile"></label>
         </div>
         <div>
         <div>
           <input type="text" placeholder="密碼" v-verify="pwd" v-model="pwd" />
           <label v-verified="verifyError.pwd"></label>
         </div>
         <div>
           <input type="text" placeholder="username" v-verify="username" v-model="username" />
           <label v-verified="verifyError.username"></label>
         </div>
         <div>
           <input type="text" placeholder="phone" v-verify="phone" v-model="phone" />
           <label v-verified="verifyError.phone"></label>
         </div>
    
         <button v-on:click="submit">提交</button>
       </div>
     </template>
    
     <script>
       import Vue from "vue";
       import verify from "vue-verify-plugin";
    
       Vue.use(verify, {
         blur: true
       });
    
       export default {
         name: 'app',
         data() {
           return {
             mobile: "",
             username: "",
             pwd: "",
             phone: ""
           }
         },
         verify: {
           mobile: ["required", "mobile"],
           pwd: {      //默認(rèn)插件蛀醉,必須要用v-verified和計(jì)算屬性,以下都是
             minLength: 6,
             message: "密碼不得小于6位"
           },
           username: [     //自定義的插件
             "required",
             {
               test: function (val) {
                 if (val.length < 2) {
                   return false;
                 }
                 return true;
               },
               message: "姓名不得小于2位"
             }
           ],
           phone: {      //自定義的插件
             test: /^1[34578]\d{9}$/,
             message: "電話號碼格式不正確"
           },
         },
         methods: {
           submit: function () {
             console.log(this.$verify.check());
           }
         },
         computed: {     //這個是關(guān)鍵衅码,有長度的地方必須要有
           verifyError() {
             return this.$verify.$errors;
           }
         }
       }
     </script>
    

具體就這樣啦拯刁,感謝setfocus大佬,但報(bào)錯是真的逝段,弄了一天要炸了有沒有垛玻,手動笑哭

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奶躯,隨后出現(xiàn)的幾起案子帚桩,更是在濱河造成了極大的恐慌,老刑警劉巖嘹黔,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件账嚎,死亡現(xiàn)場離奇詭異,居然都是意外死亡儡蔓,警方通過查閱死者的電腦和手機(jī)郭蕉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喂江,“玉大人召锈,你說我怎么就攤上這事』裱” “怎么了烟勋?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵规求,是天一觀的道長。 經(jīng)常有香客問我卵惦,道長阻肿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任沮尿,我火速辦了婚禮丛塌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘畜疾。我一直安慰自己赴邻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布啡捶。 她就那樣靜靜地躺著姥敛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞎暑。 梳的紋絲不亂的頭發(fā)上彤敛,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音了赌,去河邊找鬼墨榄。 笑死,一個胖子當(dāng)著我的面吹牛勿她,可吹牛的內(nèi)容都是我干的袄秩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼逢并,長吁一口氣:“原來是場噩夢啊……” “哼之剧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起砍聊,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猪狈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辩恼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雇庙,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年灶伊,在試婚紗的時候發(fā)現(xiàn)自己被綠了疆前。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡聘萨,死狀恐怖竹椒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情米辐,我是刑警寧澤胸完,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布书释,位于F島的核電站,受9級特大地震影響赊窥,放射性物質(zhì)發(fā)生泄漏爆惧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一锨能、第九天 我趴在偏房一處隱蔽的房頂上張望扯再。 院中可真熱鬧,春花似錦址遇、人聲如沸熄阻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秃殉。三九已至,卻和暖如春浸剩,著一層夾襖步出監(jiān)牢的瞬間钾军,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工乒省, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畦木。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓袖扛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親十籍。 傳聞我的和親對象是個殘疾皇子蛆封,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容