最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決this.$refs.form.validate()不執(zhí)行的問題

 更新時間:2023年09月26日 09:01:37   作者:ZHANG.......  
這篇文章主要介紹了如何解決this.$refs.form.validate()不執(zhí)行的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

this.$refs.form.validate()不執(zhí)行問題

問題

使用以下方法獲取校驗狀態(tài)的時候,一直獲取不到,console沒有結(jié)果輸出

this.$refs.form.validate().then(valid => {
  console.log(valid)
})

原因

①存在沒有加入驗證規(guī)則的 prop

如:在代碼中寫了很多這樣的 prop,作為需要驗證的字段:

<FormItem label="URL過濾" prop="groupId">

但是,在定義的 rules 里面沒有出現(xiàn)該 prop:

rules: {
  schemaId: [{ required: true, message: '必填'}],
}

注意:一般來講,多加上 prop 不會有問題,還有可能是自定義的校驗有問題

②  自定義校驗規(guī)則存在沒有調(diào)用到 callback() 的情況

如:沒有驗證 value 為空的情況:

    const validateFilter = (rule, value, callback) => {
     if (!value.every(item => HTTPHEADER_KEYWORD_REGEXP.test(item))) {
        callback(new Error('關(guān)鍵字格式錯誤:每個最長255字符,不能包含中文'))
      } else if (value.join('').length > 2048) {
        callback(new Error('錯誤:總長度不能超過2048字符'))
      } else {
        callback()
      }
    }

上述判斷中沒有考慮到 value 為空的情況也要執(zhí)行一次 callback(),因此當(dāng) value 為空時校驗狀態(tài)也不執(zhí)行。

    const validateFilter = (rule, value, callback) => {
      if (!value) {
        callback()
      } else if (!value.every(item => HTTPHEADER_KEYWORD_REGEXP.test(item))) {
        callback(new Error('關(guān)鍵字格式錯誤:每個最長255字符,不能包含中文'))
      } else if (value.join('').length > 2048) {
        callback(new Error('錯誤:總長度不能超過2048字符'))
      } else {
        callback()
      }
    }

解決思路:

  • 根據(jù)框架文檔,檢查代碼書寫規(guī)范
  • 打印this.$refs.form.validate(),看狀態(tài),如果狀態(tài)是pedding(待辦),還沒有執(zhí)行完成,繼續(xù)看校驗規(guī)則問題,是否考慮全面需要執(zhí)行 callback() 的情況。

this.$refs.form.validate()不起作用

問題描述?

使用該方法獲取校驗狀態(tài)的時候,一直獲取不到,console沒有結(jié)果輸出

this.$refs.form.validate().then((valid) => {
? ? console.log(valid)
});

解決方法

去掉沒有加入驗證規(guī)則的prop

什么意思呢?

我在代碼中寫了很多這樣的prop,作為需要校驗的字段

<FormItem label="跨網(wǎng)網(wǎng)關(guān)" prop="groupId">

但是,在我定義的rules里面沒有出現(xiàn)該prop

rules: {
? ?schemaId: [{required: true, message: '必填'}],
},

解決思路

因為我使用的是ivew框架,所以我會先去ivew官網(wǎng)查看一番,一般一些比較簡單的問題,直接翻官網(wǎng)都能得到解決,但是我這種比較無厘頭的問題,很明顯,我在官網(wǎng)并沒有得到什么實質(zhì)性的收獲

上百度,就算不能從前輩或同行那里得到什么實質(zhì)性的解決,但最少也能開闊一下自己的腦洞。

我就順帶說下我得收獲:

確定自定義得規(guī)則在最后都進(jìn)行了callback()回調(diào)

可以自己將this.$refs.form.validate()打印出來看看狀態(tài)

雖然看上去,并沒有什么實質(zhì)性得解決,但是我從中明白了,肯定是我的校驗沒有完成,二話不多說。

console.log(this.$refs.form.validate())

果不其然啊,我的狀態(tài)是pedding(待辦)狀態(tài),還沒有執(zhí)行完成,這個時候又繼續(xù)排查,確保校驗規(guī)則沒有問題,那么就只能是上面,我自己定義多了prop字段,去掉后,正常呢。

一般來講多加上prop不會有問題,還有可能是你的自定義的校驗有問題(有可能是你的自定義規(guī)則里面沒有寫callback(),檢查一下)。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue+Java 通過websocket實現(xiàn)服務(wù)器與客戶端雙向通信操作

    Vue+Java 通過websocket實現(xiàn)服務(wù)器與客戶端雙向通信操作

    這篇文章主要介紹了Vue+Java 通過websocket實現(xiàn)服務(wù)器與客戶端雙向通信操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue3實現(xiàn)ai聊天對話框功能

    vue3實現(xiàn)ai聊天對話框功能

    這篇文章主要介紹了vue3實現(xiàn)ai聊天對話框功能,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12
  • vue.js實現(xiàn)只彈一次彈框

    vue.js實現(xiàn)只彈一次彈框

    本篇文章通過代碼實例給大家詳細(xì)講述了一個vue的實例,實現(xiàn)只彈一次彈框功能,一起學(xué)習(xí)分享下。
    2018-01-01
  • vue導(dǎo)入處理Excel表格功能步驟詳解

    vue導(dǎo)入處理Excel表格功能步驟詳解

    最近開發(fā)遇到一個點擊導(dǎo)入按鈕讓excel文件數(shù)據(jù)導(dǎo)入在表格的需求,所以下面這篇文章主要給大家介紹了關(guān)于vue導(dǎo)入處理Excel表格功能步驟的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Vue3實現(xiàn)手寫簽名之Vue3-signature的快速應(yīng)用實例

    Vue3實現(xiàn)手寫簽名之Vue3-signature的快速應(yīng)用實例

    簽名組件在許多應(yīng)用場景中都非常有用,比如在線合同簽署、電子表格簽名等,這篇文章主要介紹了Vue3實現(xiàn)手寫簽名之Vue3-signature的快速應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • 如何解決vue-json-editor無法輸入中文、重影問題

    如何解決vue-json-editor無法輸入中文、重影問題

    文章介紹了如何解決vue-json-editor組件無法輸入中文和重影的問題,通過修改源碼并使用vue-json-edit-fix-cn組件來 fix 這兩個問題,同時,文章還提供了如何移除舊的依賴包并安裝新的依賴包的步驟
    2025-01-01
  • vue 解決computed修改data數(shù)據(jù)的問題

    vue 解決computed修改data數(shù)據(jù)的問題

    今天小編就為大家分享一篇vue 解決computed修改data數(shù)據(jù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue項目中,main.js,App.vue,index.html的調(diào)用方法

    vue項目中,main.js,App.vue,index.html的調(diào)用方法

    今天小編就為大家分享一篇vue項目中,main.js,App.vue,index.html的調(diào)用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue底部加載更多的實例代碼

    vue底部加載更多的實例代碼

    本文通過實例代碼給大家介紹了vue底部加載更多,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • Vue3中使用vant的踩坑實戰(zhàn)日記

    Vue3中使用vant的踩坑實戰(zhàn)日記

    Vant是有贊前端團(tuán)隊開源的移動端組件庫,于2017年開源,已持續(xù)維護(hù)4年時間,下面這篇文章主要給大家介紹了關(guān)于Vue3中使用vant的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10

最新評論

基隆市| 巴彦淖尔市| 拉萨市| 儋州市| 通渭县| 桂阳县| 罗定市| 合肥市| 邮箱| 巴彦县| 平罗县| 凌云县| 上蔡县| 成都市| 阜城县| 怀宁县| 化州市| 鹿泉市| 镇宁| 怀宁县| 湖北省| 永城市| 嘉善县| 铁岭市| 隆德县| 安顺市| 三穗县| 蒙阴县| 延边| 罗山县| 昌图县| 綦江县| 项城市| 固原市| 开化县| 墨江| 建湖县| 太白县| 六安市| 平安县| 寿光市|