亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue+VeeValidate 校驗范圍實例詳解(部分校驗,全部校驗)

2019-11-19 12:40:19
字體:
來源:轉載
供稿:網友

搜索很久,沒有發現有關于vue+VeeValidate部分校驗的。自己寫一個。

主要是兩個場景:

1. 校驗范圍內,所有的字段。

2. 校驗全局所有字段。

主要方法:

1.validate(fields, scope)     

2. validateAll(fields)

場景: 遍歷得到多個列表,每一個列表都可以獨立保存當前列表。在保存當前列表的時候,需要校驗當前列表輸入框的合法性。

代碼:

<div class=" col-xs-12 col-md-6 col-lg-4" v-for="(p1,index) in carList" :key="index">    <div class="box box-success" style="margin-top: 15px;overflow: hidden;" >     <div class="col-xs-7" style="border-right:1px solid #eee;padding-top: 10px;">      <label class="col-xs-12 " style="padding: 5px 0;">車牌號: <span style="font-weight: normal;word-break:break-all;">{{p1.planLicenseNo}}</span></label>      <label class="col-xs-12" style="padding: 5px 0;;">司機:<span style="font-weight: normal;word-break:break-all;">{{p1.planDriver}}</span></label>          </div>     <div class="col-xs-5" style="padding-top: 10px;">      <div class="form-group" :class="{'has-error': errors.has('licenseNo' + index, 'newsletter' + index)}">       <label >實際車牌號 <i class="errMsg">*</i></label>       <input type="text" class="form-control" v-model.trim="p1.licenseNo"           v-validate="{required: true}" :data-vv-scope="'newsletter' + index"           :name="'licenseNo' + index" :data-vv-as="$t('pagefield.purchase.carCode')">       <span v-show="errors.has('licenseNo' + index, 'newsletter' + index)" class="help-block">{{ errors.first('licenseNo' + index, 'newsletter' + index) }}</span>      </div>      <div class="form-group" :class="{'has-error': errors.has('actualQty' + index, 'newsletter' + index)}">       <label >實際數量(頭)<i class="errMsg">*</i></label>       <input type="text" class="form-control" v-model.trim="p1.actualQty" :data-vv-scope="'newsletter' + index"           v-validate="{required: true, decimal:2, min_value: 0, max_value: p1.planQty}"           :name="'actualQty' + index" :data-vv-as="$t('message.quantity')">       <span v-show="errors.has('actualQty' + index, 'newsletter' + index)" class="help-block">{{ errors.first('actualQty' + index, 'newsletter' + index) }}</span>      </div>      <div class="form-group" :class="{'has-error': errors.has('actualWgh' + index, 'newsletter' + index)}">       <label>總重(kg) <i class="errMsg">*</i></label>       <input type="text" class="form-control" v-model.trim="p1.actualWgh" :data-vv-scope="'newsletter' + index"           v-validate="{required: true, decimal:2, min_value: 0, max_value: p1.planWgh}"           :name="'actualWgh' + index" :data-vv-as="$t('message.weight')">       <span v-show="errors.has('actualWgh' + index, 'newsletter' + index)" class="help-block">{{ errors.first('actualWgh' + index, 'newsletter' + index) }}</span>      </div>      <div class="form-group">       <label>過磅單</label>       <input type="text" class="form-control" v-model.trim="p1.weightNo">      </div>     </div>     <div class="col-xs-12 text-right" style="border-top: 1px solid #eee;padding: 10px 15px;">      <button class="btn btn-warning" @click="doSave(p1, index)">保存</button>     </div>    </div>   </div>

* carList: [{}, {}]

* data-vv-scope: [type='string']  屬性的值的類型是 string,表示定義了一個區域,在校驗的時候,通過屬性值 讓validator 可以找到當前應該校驗的區域。

此時通過 驗證器提供的方法validate(scopeName)就可以校驗當前區域了。

doSave (obj, i) {    var _self = this    var validateScope = 'newsletter' + i    this.$validator.validate(validateScope + '.*').then((result) => {     if (result) {      // 提交數據      _self.doSaveAfterCheck()     }    })   }/*errors.has(field, scope) 返回一個true / falseerrors.has('actualWgh' + index, 'newsletter' + index)}" 表示驗證區域是 data-vv-scope = 'newsletter' + index 驗證的字段是屬性 name ='actualWgh' + indexfirst(field,scope) 返回與特定字段關聯或由選擇器指定的第一條錯誤消息,前提是作用域將查找該范圍內的消息,*/<div class="form-group" :class="{'has-error': errors.has('actualWgh' + index, 'newsletter' + index)}">  <label>總重(kg) <i class="errMsg">*</i></label> <input type="text" class="form-control" v-model.trim="p1.actualWgh" :data-vv-scope="'newsletter' + index"     v-validate="{required: true, decimal:2, min_value: 0, max_value: p1.planWgh}"     :name="'actualWgh' + index" :data-vv-as="$t('message.weight')"> <span v-show="errors.has('actualWgh' + index, 'newsletter' + index)" class="help-block">{{ errors.first('actualWgh' + index, 'newsletter' + index) }}</span></div>

場景2 : 頁面有多個校驗。當保存的時候,需要全部校驗。這個場景官方提供2種方法.

this.$validator.validate().then((result) => {    if (result) {     // 提交數據?!     ?/   result是一個boolean值。true 表示沒有觸發錯誤規則,false 表示頁面有非法值,觸發錯誤     _self.doSaveAfterCheck()    }   })this.$validator.validateAll().then((result) => {    if (result) {     // 提交數據。     _self.doSaveAfterCheck()    }   })

上述兩種校驗全部的方法不同點在于適用場景:

validate() 可以指定校驗范圍內,或者是全局的 字段。而validateAll() 只能校驗全局。

官方示例:

// validate all fields.//  校驗全局范圍所有字段validator.validate(); === validateAll() 兩個方法完全一樣。// validate a field that has a matching name with the provided selector.// 校驗哪個字段? field 取name的值。validator.validate('field');// validate a field within a scope.// 校驗 某個域內 的某個字段。validator.validate('scope.field');// validate all fields within this scope.// 校驗 某個域內的所有字段。  上述例子就是用的這個。  *_* validator.validate('scope.*');// validate all fields without a scope.// 校驗沒有定義域內的 字段。適用場景: 校驗場景分為兩種: 定義域的,沒有定義域。//  當頁面所有需要校驗的字段,都定義了域,則這個方法會導致沒有可校驗的值,直接返回truevalidator.validate('*');

總結

以上所述是小編給大家介紹的vue+VeeValidate 校驗范圍實例詳解(部分校驗,全部校驗),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久久久久久| 国语自产精品视频在线看一大j8| 国产精品一区二区三区成人| 久久久精品视频成人| 国产精品久久久久免费a∨| 亚洲国产欧美一区二区三区久久| 国产欧洲精品视频| 国产精品免费看久久久香蕉| 国产在线精品自拍| 久久久久久久国产| 中文在线资源观看视频网站免费不卡| 亚洲精品网站在线播放gif| 日韩禁在线播放| 日日狠狠久久偷偷四色综合免费| 欧美日韩久久久久| 成人午夜高潮视频| 九九精品在线视频| 欧美三级xxx| 91精品久久久久久久久中文字幕| 亚洲欧美中文日韩在线v日本| 九九热这里只有在线精品视| 自拍偷拍亚洲区| 欧美激情奇米色| 亚洲一区国产精品| 亚洲欧美中文日韩在线v日本| 最近2019年中文视频免费在线观看| 国产成人免费91av在线| 国产日本欧美一区二区三区在线| 热re99久久精品国产66热| 91产国在线观看动作片喷水| 亚洲精品视频免费在线观看| 色樱桃影院亚洲精品影院| 国内精品在线一区| 91性高湖久久久久久久久_久久99| 中文字幕精品视频| 91久久在线播放| 91av免费观看91av精品在线| 午夜精品久久久久久久99黑人| 久久免费视频网站| 日韩成人av网址| 日韩一区二区久久久| 久久久99免费视频| 亚洲最大中文字幕| 亚洲高清色综合| 亚洲精品视频网上网址在线观看| 国产日韩综合一区二区性色av| 国产一区二区三区久久精品| 欧美精品少妇videofree| 九九热这里只有精品6| 日韩大胆人体377p| 97在线视频一区| 97视频在线观看免费| 欧美华人在线视频| 国产精品尤物福利片在线观看| 在线观看中文字幕亚洲| 国精产品一区一区三区有限在线| 久久久伊人欧美| 一区二区三区精品99久久| 91精品久久久久久久久青青| 日韩经典第一页| 一本一本久久a久久精品综合小说| 色综合91久久精品中文字幕| 日韩电影免费观看在线观看| 久久人人爽人人爽人人片av高请| 亚洲bt欧美bt日本bt| 亚洲影影院av| 欧美在线一区二区视频| 亚洲人成人99网站| 欧美性受xxx| 亚洲一区二区三区成人在线视频精品| 超在线视频97| 国产精品久久久久久久7电影| 国产精品18久久久久久麻辣| 国产精品美女久久| 欧美国产激情18| 久久91亚洲精品中文字幕| 91产国在线观看动作片喷水| 伊人激情综合网| 亚洲综合日韩在线| 中文字幕欧美专区| 伊人久久男人天堂| 精品国偷自产在线| 久久久亚洲影院| 亚洲国产精品一区二区久| 欧美人与性动交a欧美精品| 亚洲a成v人在线观看| 亚洲图片欧美午夜| 国产精品视频一区二区高潮| 粗暴蹂躏中文一区二区三区| 一区二区欧美在线| 欧美性猛交xxxx乱大交极品| 欧美一级淫片播放口| 国产日韩欧美视频在线| 热草久综合在线| 亚洲成人精品久久久| 亚洲国产精品久久| 成人在线免费观看视视频| 伦伦影院午夜日韩欧美限制| 在线观看精品国产视频| 国模私拍视频一区| 国产精品精品久久久| 日韩中文在线中文网在线观看| 成人精品久久av网站| 亚洲欧美视频在线| 日韩电影中文字幕在线| 亚洲 日韩 国产第一| 亚洲最大的成人网| 日日摸夜夜添一区| 欧美一区二区三区免费观看| 亚洲欧美制服另类日韩| 亚洲成人精品久久久| 亚洲人永久免费| 日韩欧美一区二区三区| 国产精品嫩草影院一区二区| 在线不卡国产精品| 91a在线视频| 久久五月天综合| 一区二区三区天堂av| 国产精品九九九| 韩国三级电影久久久久久| 在线色欧美三级视频| 91九色单男在线观看| 国产精品久久久久久久久久ktv| 欧美激情视频一区| 日韩在线观看免费高清完整版| 亚洲精品自在久久| 深夜成人在线观看| 欧美日韩亚洲一区二区| 91精品视频网站| 国产91精品不卡视频| 日韩最新av在线| 日韩高清欧美高清| 欧美激情精品久久久久久免费印度| 久久久久久久久爱| 亚洲欧美日韩精品久久亚洲区| 日韩中文字在线| 国产精品白嫩初高中害羞小美女| 久久久亚洲精选| 亚洲欧洲xxxx| 日韩欧美精品网址| 欧美日韩成人在线观看| 美日韩丰满少妇在线观看| www.欧美三级电影.com| 欧美xxxx18性欧美| 亚洲国产另类久久精品| 亚洲精品成人网| 成人黄色在线观看| 57pao国产精品一区| 国产精品久久久久久久久久新婚| 欧美一级视频免费在线观看| 国产一区二区久久精品| 韩剧1988免费观看全集| 97香蕉久久超级碰碰高清版| 欧美成人精品在线观看| 91麻豆桃色免费看| 国产精品精品国产| 亚洲精品国产精品乱码不99按摩| 91久久久久久久一区二区| 成人激情视频在线播放| 国产成人涩涩涩视频在线观看| 欧美一级黑人aaaaaaa做受| 欧美在线影院在线视频| 黑人巨大精品欧美一区二区| 欧美另类xxx|