国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Element UI 表單驗證規(guī)則動態(tài)失效問題

這篇具有很好參考價值的文章主要介紹了Element UI 表單驗證規(guī)則動態(tài)失效問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Element 版本:v2.15.3

問題背景

如下代碼所示:有一個上傳文件的 input 組件,在更新的時候,如果不上傳文件表示不更新,如果要更新則點擊 「重新上傳」按鈕將上傳組件顯示出來

<el-form ref="form" :model="form" :rules="rules" label-width="80px">
  <!-- 這個字段不是必須的沒有寫 prop -->
  <el-form-item v-if="!updateDocument" label="文檔">
    <el-button @click="updateDocument = true">重新上傳</el-button>
    <base-tips margin-left="15px">如需變更請重新上傳文檔</base-tips>
  </el-form-item>
  <!-- 要更新的話:這個字段要求必須,寫 prop  -->
  <el-form-item v-if="updateDocument" label="文檔" prop="document">
    <input
           :accept="supportFilesType"
           ref="documentFile" type="file" @change="documentFileChange"/>
  </el-form-item>
</el-form>

elementui表單驗證失效,vue.js,javascript,前端
也就是如上圖:不更新的話,該字段不是必須的,提交的時候就不會被校驗,如果更新的話,就要讓這個字段為必填項。

上述代碼:從頁面上看是正常的,有前面那個紅色的 * 號,但是在提交的時候,并沒有觸發(fā)驗證。

解決方案

首先:查看表單組件的信息,最終在 Field 這個屬性下發(fā)現(xiàn)了問題

console.log(this.$refs.form)
  1. 進入頁面的時候,F(xiàn)ield 中顯示的字段數(shù)量不包含 document,因為進入頁面默認是不更新
  2. 切換到更新狀態(tài),F(xiàn)ield 中的字段數(shù)量并沒有變更,那么問題就出現(xiàn)在這里了

這種情況的最主要原因是:表單組件沒有觸發(fā)重新渲染,解決方案靠譜的有:文章來源地址http://www.zghlxwxcb.cn/news/detail-718128.html

  1. 在 el-form-item 上增加 key 屬性,也就是 vue 中的 key
  2. 在 el-form-item 上手動寫上指定的,rules
<!-- 寫上 prop,并且手動指定 rules,由于需要不校驗該字段,設置一個規(guī)則 required:false  -->
<el-form-item v-if="!updateDocument" label="文檔" prop="document" :rules="[{required:false}]">
  <el-button @click="updateDocument = true">重新上傳</el-button>
  <base-tips margin-left="15px">如需變更合同請重新上傳文檔</base-tips>
</el-form-item>

<!-- 寫上 prop,由于需要驗證該字段,直接指向原來的 rules 中的規(guī)則-->
<el-form-item v-if="updateDocument" label="文檔" prop="document" :rules="rules.document">
  <input
         :accept="supportFilesType"
         ref="documentFile" type="file" @change="documentFileChange"/>
</el-form-item>

到了這里,關于Element UI 表單驗證規(guī)則動態(tài)失效問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包