欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

vue-form-check  (基于vue的表單驗證)具體實現(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)前校驗對象
config 是校驗規(guī)則對象
config.alias   別名
config.type   配置項數(shù)據(jù)類型
config.required 是否必填
config.rule   正則校驗
config.depend  先決條件(省事可以在callback里直接判斷,推薦寫,true校驗本項;false不校驗本項)
config.callback 靈活校驗(rule同時出現(xiàn),只處理callback,參數(shù)是當(dāng)前值,true校驗通過;false校驗不通過)
@return object 對象
不通過的話  {alias: '電話', type: 'rule'}  alias是配置的別名,type可以是['type'|'required'|'rule']
校驗通過的話 {} 空對象
ps. 驗證表單可以寫在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'
      },
      // 必填校驗
      'person.name': {
        alias: '學(xué)校',
        type: 'string',
        required: true
      },
      // 正則校驗
      'person.phone': {
        alias: '電話',
        type: 'string',
        rule: /^1[345678][0-9]{9}$/
      },
      // 靈活校驗,如數(shù)值、日期區(qū)間驗證
      'person.age': {
        alias: '年齡',
        callback(value) {
          if (value < 30 && value > 18) {
            return true;
          }
          return false;
        }
      },
      // 先決校驗,如果電話等于以下,校驗地址信息
      '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}的類型定義錯誤`, '提示');
        break;
      case 'required':
        this.$alert(`${obj.alias}是必填項`, '提示');
        break;
      case 'rule':
        this.$alert(`${obj.alias}的輸入不符合規(guī)范`, '提示');
        break;
      default:
        break;
    }
  }
 }
});

補充:vue-form表單驗證是否為空值

重點部分:

點擊表單的 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="請輸入你的姓名" 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="請輸入你的手機號" class="phone-number-style"/>
    <div class="guide-style">
      <select v-model="selectedGuild">
        <option selected="selected" value="">請選擇一個導(dǎo)購: </option>
        <option v-for="guild in guilds" value ="{{ guild.name }}">{{ guild.name }}</option>
      </select>
    </div>
    <input type="submit" value ="注冊" class="register-style"/>
  </form> 

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

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

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

    if (!this.phoneNumber) {
      showToast('請輸入手機號碼!')
      return false
    }

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

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

    return true
    }
  }

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    這篇文章主要介紹了Vue包大小優(yōu)化的實現(xiàn)(從1.72M到94K),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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ù)場景需要同時獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關(guān)于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下
    2022-10-10
  • 簡單聊聊Vue中的計算屬性和屬性偵聽

    簡單聊聊Vue中的計算屬性和屬性偵聽

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

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

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

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

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

最新評論