国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

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

2024-05-06 15:27:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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)@paramscurrent 是當(dāng)前校驗(yàn)對(duì)象config 是校驗(yàn)規(guī)則對(duì)象config.alias   別名config.type   配置項(xiàng)數(shù)據(jù)類(lèi)型config.required 是否必填config.rule   正則校驗(yàn)config.depend  先決條件(省事可以在callback里直接判斷,推薦寫(xiě),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)通過(guò);false校驗(yàn)不通過(guò))@return object 對(duì)象不通過(guò)的話  {alias: '電話', type: 'rule'}  alias是配置的別名,type可以是['type'|'required'|'rule']校驗(yàn)通過(guò)的話 {} 空對(duì)象ps. 驗(yàn)證表單可以寫(xiě)在mixin里,這里簡(jiǎn)單處理直接寫(xiě)在組件里了

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}的類(lèi)型定義錯(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部分:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 雷州市| 拉萨市| 如皋市| 徐州市| 邵阳县| 佳木斯市| 唐山市| 大庆市| 仁寿县| 万宁市| 天气| 黄石市| 尉犁县| 莆田市| 呼和浩特市| 崇义县| 奉新县| 肇州县| 嘉禾县| 涞源县| 安化县| 荔波县| 中阳县| 咸宁市| 永昌县| 垣曲县| 虎林市| 石家庄市| 陆河县| 砀山县| 亳州市| 旌德县| 亚东县| 张掖市| 罗定市| 临夏市| 河曲县| 通化市| 南召县| 海丰县| 从江县|