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

element表單使用校驗(yàn)之校驗(yàn)失效問(wèn)題詳解

 更新時(shí)間:2022年10月17日 16:38:16   作者:paidaboluo  
最近工作中遇到了element表單校驗(yàn)失敗的情況,通過(guò)查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于element表單使用校驗(yàn)之校驗(yàn)失效問(wèn)題的相關(guān)資料,需要的朋友可以參考下

首先是html必須正確,直接看代碼示例:

<el-form ref="form" :model="form" :rules="rules" label-width="80px">
  <el-form-item label="名稱(chēng)" prop="name">
    <el-input v-model="form.name"></el-input>
  </el-form-item>
  <el-form-item label="性別" prop="sex">
    <el-input v-model="form.sex"></el-input>
  </el-form-item>
  <el-form-item label="年齡" prop="age">
    <el-input v-model="form.age"></el-input>
  </el-form-item>
</el-form>

第一種可能的錯(cuò)誤: 字段錯(cuò)誤

其中的每個(gè) el-form-item 標(biāo)簽中,都有一個(gè) prop ,其中的值是我們 rules 對(duì)象中的 某個(gè) 屬性。

然后我們 v-model 綁定的值也必須是 這個(gè) 屬性

比如我們的字段是 userName,我們的prop還是name時(shí),校驗(yàn)失效

  <el-form-item label="名稱(chēng)" prop="name">
    <el-input v-model="form.userName"></el-input>
  </el-form-item>

再來(lái)看js中的代碼:

form: {
  name: undefined,
  sex: undefined,
  age: undefined
},
rules: {
    name: [
          { required: true, message: "用戶(hù)名稱(chēng)不能為空", trigger: "blur" },
          { min: 2, max: 20, message: '用戶(hù)名稱(chēng)長(zhǎng)度必須介于 2 和 20 之間', trigger: 'blur' }
        ],
    sex: [
          { required: true, message: "性別不能為空", trigger: "blur" }
        ],
    age: [
          { required: true, message: "年齡不能為空", trigger: "blur" },
          { pattern: /^([0-9]|[1-9]\d|[1-9]\d\d)$/, message: '年齡介于 0-999 之間', trigger: 'blur' }
        ]
}

第二種:觸發(fā)校驗(yàn)錯(cuò)誤

rules 中 每個(gè)校驗(yàn)對(duì)象 都有一項(xiàng) trigger 是檢驗(yàn)觸發(fā)的方式

對(duì) el-input 輸入框的驗(yàn)證,trigger的值選blur,即失去焦點(diǎn)時(shí)進(jìn)行驗(yàn)證。

下拉框 el-select、日期選擇器 el-date-picker、復(fù)選框 el-checkbox、單選框 el-radio驗(yàn)證時(shí),trigger的值選擇change,即當(dāng)值發(fā)生變化時(shí)就進(jìn)行驗(yàn)證。

沒(méi)有任何輸入的時(shí)候,不會(huì)觸發(fā) change , 但一定會(huì)觸發(fā) blur 事件

注:如果使用了其他的組件(非ele組件等),組件中沒(méi)有 v-model 等等情況時(shí),值改變時(shí)需要我們手動(dòng)去觸發(fā)校驗(yàn)

方法名說(shuō)明參數(shù)
validateField對(duì)部分表單字段進(jìn)行校驗(yàn)的方法Function(props: array | string, callback: Function(errorMessage: string))
this.$refs.表單ref名稱(chēng).validateField(校驗(yàn)字段);

validator

最后提一下自定義校驗(yàn),用于一些校驗(yàn)一些復(fù)雜的值

validator的參數(shù)有:(rule, value, callback),前三個(gè)比較重要。

  • rule:指向該條規(guī)則對(duì)象。
  • value:新的值,用于參與運(yùn)算、對(duì)比。
  • callback:執(zhí)行回調(diào),使用方法是:callback('...');。
    • 如果不傳參:表示驗(yàn)證通過(guò),一般不必專(zhuān)門(mén)強(qiáng)調(diào)。
    • 如果傳入值:字符串會(huì)作為錯(cuò)誤提示,但是顯示優(yōu)先級(jí)低于外層的message。比如callback('內(nèi)層錯(cuò)誤提示');跟message: '外層錯(cuò)誤提示'同時(shí)存在,則會(huì)提示:外層錯(cuò)誤提示。

直接看代碼

data(){
  const name = (rule, value, callback) => {
    console.log(rule)
    console.log(value)
    console.log(callback)
    if (this.oldName === value) {
      callback(new Error("新名字不能和舊名字一致"));
    } else {
      callback();
    }
  };
  return {
    rules: {
        name: [
          { required: true, trigger: "blur", message: "請(qǐng)?jiān)俅屋斎胄旅? },
          { required: true, validator: name, trigger: "blur" }
        ]
    }
  }

 更多的參數(shù)和核心代碼 可以查看 ele 實(shí)現(xiàn)校驗(yàn)使用的 async-validator

總結(jié)

到此這篇關(guān)于element表單使用校驗(yàn)之校驗(yàn)失效問(wèn)題的文章就介紹到這了,更多相關(guān)element表單校驗(yàn)失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue如何實(shí)現(xiàn)文件預(yù)覽和下載功能的前端上傳組件

    Vue如何實(shí)現(xiàn)文件預(yù)覽和下載功能的前端上傳組件

    在Vue.js項(xiàng)目中,使用ElementUI的el-upload組件可以輕松實(shí)現(xiàn)文件上傳功能,通過(guò)配置組件參數(shù)和實(shí)現(xiàn)相應(yīng)的方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 解決vue中無(wú)法動(dòng)態(tài)修改jqgrid組件 url地址的問(wèn)題

    解決vue中無(wú)法動(dòng)態(tài)修改jqgrid組件 url地址的問(wèn)題

    下面小編就為大家分享一篇解決vue中無(wú)法動(dòng)態(tài)修改jqgrid組件 url地址的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Vue實(shí)現(xiàn)文件上傳和下載功能

    Vue實(shí)現(xiàn)文件上傳和下載功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)文件上傳和下載功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 15 分鐘掌握vue-next函數(shù)式api(小結(jié))

    15 分鐘掌握vue-next函數(shù)式api(小結(jié))

    這篇文章主要介紹了15 分鐘掌握vue-next函數(shù)式api(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue3在table里使用elementUI的form表單驗(yàn)證的示例代碼

    vue3在table里使用elementUI的form表單驗(yàn)證的示例代碼

    這篇文章主要介紹了vue3在table里使用elementUI的form表單驗(yàn)證的示例代碼,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • 在vue中使用iframe解決視頻資源的防盜鏈

    在vue中使用iframe解決視頻資源的防盜鏈

    我們的vue2.0項(xiàng)目當(dāng)中,存儲(chǔ)了許多圖片和視頻資源,所以我們需要增加防盜鏈設(shè)置,但是這樣一來(lái),當(dāng)我們將其他網(wǎng)站上的視頻資源,想入到我們的環(huán)境當(dāng)中的時(shí)候,會(huì)報(bào)錯(cuò),所以本文給大家介紹了在vue中使用iframe解決視頻資源的防盜鏈,需要的朋友可以參考下
    2023-12-12
  • Vue.js如何監(jiān)聽(tīng)window窗口尺寸變化

    Vue.js如何監(jiān)聽(tīng)window窗口尺寸變化

    使用VUE開(kāi)發(fā)后臺(tái)項(xiàng)目,后臺(tái)項(xiàng)目需要進(jìn)行后臺(tái)根據(jù)瀏覽器窗口進(jìn)行變化,需要使用vue來(lái)監(jiān)聽(tīng)瀏覽器的窗口變化,這篇文章主要給大家介紹了關(guān)于Vue.js如何監(jiān)聽(tīng)window窗口尺寸變化的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Vue如何處理Axios多次請(qǐng)求數(shù)據(jù)顯示問(wèn)題

    Vue如何處理Axios多次請(qǐng)求數(shù)據(jù)顯示問(wèn)題

    這篇文章主要介紹了Vue如何處理Axios多次請(qǐng)求數(shù)據(jù)顯示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue Router深扒實(shí)現(xiàn)原理

    Vue Router深扒實(shí)現(xiàn)原理

    在看這篇文章的幾點(diǎn)要求:需要你先知道Vue-Router是個(gè)什么東西,用來(lái)解決什么問(wèn)題,以及它的基本使用。如果你還不懂的話(huà),建議上官網(wǎng)了解下Vue-Router的基本使用后再回來(lái)看這篇文章
    2022-09-09
  • 移動(dòng)端Vue2.x Picker的全局調(diào)用實(shí)現(xiàn)

    移動(dòng)端Vue2.x Picker的全局調(diào)用實(shí)現(xiàn)

    這篇文章主要介紹了移動(dòng)端Vue2.x Picker的全局調(diào)用實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論