亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue form check 表單驗(yàn)證的實(shí)現(xiàn)代碼

 更新時(shí)間:2018年12月09日 09:40:55   作者:tomastong  
這篇文章主要介紹了vue form check 表單驗(yàn)證的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

vue-form-check  (基于vue的表單驗(yàn)證)具體實(shí)現(xiàn)代碼如下所述:

安裝

// 安裝
npm i vue-form-check -S

引用

// 引用(eg. 在工程的main.js下)
import vueFormCheck from 'vue-form-check'
Vue.use(vueFormCheck)

調(diào)用

this.$checkForm(current, config)
@params
current 是當(dāng)前校驗(yàn)對(duì)象
config 是校驗(yàn)規(guī)則對(duì)象
config.alias   別名
config.type   配置項(xiàng)數(shù)據(jù)類型
config.required 是否必填
config.rule   正則校驗(yàn)
config.depend  先決條件(省事可以在callback里直接判斷,推薦寫,true校驗(yàn)本項(xiàng);false不校驗(yàn)本項(xiàng))
config.callback 靈活校驗(yàn)(rule同時(shí)出現(xiàn),只處理callback,參數(shù)是當(dāng)前值,true校驗(yàn)通過;false校驗(yàn)不通過)
@return object 對(duì)象
不通過的話  {alias: '電話', type: 'rule'}  alias是配置的別名,type可以是['type'|'required'|'rule']
校驗(yàn)通過的話 {} 空對(duì)象
ps. 驗(yàn)證表單可以寫在mixin里,這里簡單處理直接寫在組件里了

Component

// 使用例子
new Vue({
 data() {
  return {
   params: {
    id: '1234',
    person: {
      name: 'jackie',
      age: '27',
      phone: '18266666666',
      home: ['羅湖區(qū)田心村']
    }
   }
  }
 },
 methods: {
  submit() {
   //...
   console.log('submit success');
  },
  check() {
   let obj = this.$checkForm(this.params, {
      id: {
       alias: 'id',
       type: 'string'
      },
      // 必填校驗(yàn)
      'person.name': {
        alias: '學(xué)校',
        type: 'string',
        required: true
      },
      // 正則校驗(yàn)
      'person.phone': {
        alias: '電話',
        type: 'string',
        rule: /^1[345678][0-9]{9}$/
      },
      // 靈活校驗(yàn),如數(shù)值、日期區(qū)間驗(yàn)證
      'person.age': {
        alias: '年齡',
        callback(value) {
          if (value < 30 && value > 18) {
            return true;
          }
          return false;
        }
      },
      // 先決校驗(yàn),如果電話等于以下,校驗(yàn)地址信息
      'person.home': {
        alias: '方向',
        type: 'array',
        required: true,
        depend() {
          if (this.params.person.phone === '18210517463') {
           return true;
          }
          return false;
        }
     }
    });
    const length = Object.keys(obj).length;
    if (length === 0) {
      return this.submit();
    }
    switch (obj.type) {
      case 'type':
        this.$alert(`${obj.alias}的類型定義錯(cuò)誤`, '提示');
        break;
      case 'required':
        this.$alert(`${obj.alias}是必填項(xiàng)`, '提示');
        break;
      case 'rule':
        this.$alert(`${obj.alias}的輸入不符合規(guī)范`, '提示');
        break;
      default:
        break;
    }
  }
 }
});

補(bǔ)充:vue-form表單驗(yàn)證是否為空值

重點(diǎn)部分:

點(diǎn)擊表單的 submit按鈕 觸發(fā)form 部分 @submit=”submit”事件:

submit事件 定義在js部分:

prevent:文檔上說了在事件后面加上 .prevent就可以阻止默認(rèn)事件了。

form @submit.prevent=”submit”
 <form @submit.prevent="submit">
    <input type="text" v-model="userName" placeholder="請(qǐng)輸入你的姓名" class="name-style" maxlength="20"/>
    <div class="sex">
      <select v-model="selectedSex">
        <option>boy</option>
        <option selected = "selected">girl</option>
      </select>
    </div> 
      <input type="text" v-model="phoneNumber" placeholder="請(qǐng)輸入你的手機(jī)號(hào)" class="phone-number-style"/>
    <div class="guide-style">
      <select v-model="selectedGuild">
        <option selected="selected" value="">請(qǐng)選擇一個(gè)導(dǎo)購: </option>
        <option v-for="guild in guilds" value ="{{ guild.name }}">{{ guild.name }}</option>
      </select>
    </div>
    <input type="submit" value ="注冊(cè)" class="register-style"/>
  </form> 

  data () {
    return {
    userName: '',  //請(qǐng)輸入你的姓名
    selectedSex: '',//選擇性別
    phoneNumber: '',//請(qǐng)輸入你的手機(jī)號(hào)
    guilds: [],   
    selectedGuild: '' ///請(qǐng)選擇一個(gè)導(dǎo)購
    }
  },
  methods: {

 //1.重點(diǎn)是這個(gè)方法 submit () {} - form @submit.prevent="submit" -重點(diǎn)是這個(gè)方法 submit () {},
 //2.可以在這里向服務(wù)器發(fā)送數(shù)據(jù)
   submit () {

    if (!this.userName) {
      showToast('請(qǐng)輸入姓名!')
      return false
    }

    if (!this.phoneNumber) {
      showToast('請(qǐng)輸入手機(jī)號(hào)碼!')
      return false
    }

    if (!checkTel(this.phoneNumber)) {
      showToast('手機(jī)號(hào)格式不正確')
      return false
    }

    if (!this.selectedGuild) {
      showToast('請(qǐng)選擇導(dǎo)購!')
      return false
    }

    return true
    }
  }

總結(jié)

以上所述是小編給大家介紹的vue form check 表單驗(yàn)證的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù))

    vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù))

    這篇文章主要介紹了vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue router 跳轉(zhuǎn)后回到頂部的實(shí)例

    vue router 跳轉(zhuǎn)后回到頂部的實(shí)例

    今天小編就為大家分享一篇vue router 跳轉(zhuǎn)后回到頂部的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 在vue+element-plus中無法同時(shí)使用v-for和v-if的問題及解決方法

    在vue+element-plus中無法同時(shí)使用v-for和v-if的問題及解決方法

    由于路由中存在不需要遍歷的數(shù)據(jù)所以像用v-if來過濾,但是報(bào)錯(cuò),百度說vue不能同時(shí)使用v-if和v-for,今天小編給大家分享解決方式,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • vue如何實(shí)現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值

    vue如何實(shí)現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值

    這篇文章主要介紹了vue如何實(shí)現(xiàn)跨頁面?zhèn)鬟f與接收數(shù)組并賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue包大小優(yōu)化的實(shí)現(xiàn)(從1.72M到94K)

    Vue包大小優(yōu)化的實(shí)現(xiàn)(從1.72M到94K)

    這篇文章主要介紹了Vue包大小優(yōu)化的實(shí)現(xiàn)(從1.72M到94K),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 淺析 Vue 3.0 的組裝式 API(一)

    淺析 Vue 3.0 的組裝式 API(一)

    這篇文章主要介紹了 Vue 3.0 的組裝式 API的部分資料,幫助大家更好的理解和學(xué)習(xí)vue,感興趣的朋友可以了解下
    2020-08-08
  • el-select如何獲取下拉框選中l(wèi)abel和value的值

    el-select如何獲取下拉框選中l(wèi)abel和value的值

    在開發(fā)業(yè)務(wù)場景中我們通常遇到一些奇怪的需求,例如el-select業(yè)務(wù)場景需要同時(shí)獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關(guān)于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下
    2022-10-10
  • 簡單聊聊Vue中的計(jì)算屬性和屬性偵聽

    簡單聊聊Vue中的計(jì)算屬性和屬性偵聽

    計(jì)算屬性用于處理復(fù)雜的業(yè)務(wù)邏輯,vue提供了檢測(cè)數(shù)據(jù)變化的一個(gè)屬性watch可以通過newVal獲取變化之后的值,這篇文章主要給大家介紹了關(guān)于Vue中計(jì)算屬性和屬性偵聽的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • vue 微信授權(quán)登錄解決方案

    vue 微信授權(quán)登錄解決方案

    這篇文章主要介紹了vue 微信授權(quán)解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue2中引用及使用 better-scroll的方法詳解

    vue2中引用及使用 better-scroll的方法詳解

    這篇文章主要介紹了vue2中引用better-scroll和使用 better-scroll的方法,使用時(shí)有三個(gè)要點(diǎn)及注意事項(xiàng)在文中給大家詳細(xì)介紹 ,需要的朋友可以參考下
    2018-11-11

最新評(píng)論