ui表單驗證問題

2024-1-5    前端達人

首先展示正確的格式(以驗證是否為空為例):

html代碼塊:

 
  1.  
    <el-form :model="nodeName(數(shù)組名)" ref="nodeName(數(shù)組名)">
  2.  
    <el-form-item prop="name(數(shù)組內(nèi)的屬性)" label="內(nèi)容:" :rules="[{ required: true, message: '不能為空'}]">
  3.  
    <el-input type="name(數(shù)組內(nèi)的屬性)" v-model="nodeName.name(數(shù)組內(nèi)的屬性)"></el-input>
  4.  
    </el-form-item>
  5.  
    </el-form>
 

js代碼塊:

 
  1.  
    data(){
  2.  
    return{
  3.  
    // 表單
  4.  
    nodeName:{
  5.  
    name:''
  6.  
    }
  7.  
    }
  8.  
    },
 

前端展示(輸入內(nèi)容后顯示為空消失):

 

 

下面開始總結(jié)常見的問題以及功能失效的原因.


1. input左側(cè)出現(xiàn)星號,內(nèi)容為空卻不提醒

 

原因:已經(jīng)寫好了驗證功能,但是沒有綁定到input框 .

解決方法:是<el-form-item>標簽加入prop="數(shù)組內(nèi)要驗證的屬性"或者<el-input>標簽中加入type="數(shù)組內(nèi)要驗證的屬性".

2.input框里已經(jīng)有內(nèi)容,但還是顯示不能為空

 

(一)原因:input有數(shù)據(jù),但是表單沒有驗證到.

解決方法:給<el-form>綁定整個數(shù)組.v-model="newName".

(二)原因:表單驗證綁定的不是數(shù)組,只是一個單純的ojbect或者number或者char類型

 如此種情況,無論輸入什么都會提示為空.

解決方法:將綁定驗證內(nèi)容變成數(shù)組【也可以把表單驗證寫在data里面】

 

 

[表單驗證只能綁定數(shù)組,如果單純綁定一個數(shù)值,會出現(xiàn)驗證不到的現(xiàn)象發(fā)生]!!!!!!!!!

3.提交表單按鈕無法驗證以及符合驗證的表單內(nèi)容,也就是提交失敗.

此情況一般報錯為兩個:

 

 Element-ui官方樣式表單提交函數(shù)功能是這樣展示的:

 
  1.  
    newNameBtn(newName) {
  2.  
    this.$refs[newName].validate((valid) => {
  3.  
    if (valid) {
  4.  
    alert('submit!');
  5.  
    } else {
  6.  
    console.log('error submit!!');
  7.  
    return false;
  8.  
    }
  9.  
    });
  10.  
    },
 

 我們可以看到方法是this.$refs[數(shù)組名].validate(() =>{})或者this.$refs.數(shù)組名.validate(() =>{})這樣一個函數(shù).

如果你用的html5或者是其他不顯示參數(shù)的集成工具,代碼是這樣的:

 

 并不知道這個this.$refs有沒有真正的請求到,如果你用的顯示參數(shù)的集成工具(如phpstorm),如果你的代碼正確,會這樣顯示:

 

 我們看到會多顯示一個callback,這就說明this.$refs生效了.

所以不管你使用說明軟件寫的代碼,如果出現(xiàn)表單驗證提交錯誤.也就是現(xiàn)實開頭那兩個錯誤.你就先輸入console.log(this.$ref.newName)[此處的newName是你自己綁定的數(shù)組]

看看輸出是一個對象還是undefine.顯示這個對象說明this.$refs.newName請求成功.

 

如果顯示undefine,可以這樣改正:

(一)你的代碼格式書寫錯誤,請比照上文有紅箭頭的圖正確案例改正格式.

(二)你的<el-form>未綁定ref,請給<el-form>標簽綁定ref="newName"[此處的newName是你自己綁定的數(shù)組]

 

出現(xiàn)表單驗證錯誤先比對案例 ,然后再按照自己的具體代碼綁定自己的數(shù)據(jù).

[注:Element-ui的表單驗證一定是綁定的數(shù)組類型]

 

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

免責(zé)聲明:藍藍設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

 

 

藍藍設(shè)計(m.bouu.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的大數(shù)據(jù)可視化界面設(shè)計B端界面設(shè)計、桌面端界面設(shè)計、APP界面設(shè)計圖標定制、用戶體驗設(shè)計、交互設(shè)計UI咨詢、高端網(wǎng)站設(shè)計平面設(shè)計,以及相關(guān)的軟件開發(fā)服務(wù),咨詢電話:01063334945。

關(guān)鍵詞:UI咨詢、UI設(shè)計服務(wù)公司、軟件界面設(shè)計公司、界面設(shè)計公司、UI設(shè)計公司、UI交互設(shè)計公司數(shù)據(jù)可視化設(shè)計公司、用戶體驗公司、高端網(wǎng)站設(shè)計公司

銀行金融軟件UI界面設(shè)計、能源及監(jiān)控軟件UI界面設(shè)計氣象行業(yè)UI界面設(shè)計、軌道交通界面設(shè)計地理信息系統(tǒng)GIS UI界面設(shè)計、航天軍工軟件UI界面設(shè)計、醫(yī)療行業(yè)軟件UI界面設(shè)計、教育行業(yè)軟件UI界面設(shè)計、企業(yè)信息化UI界面設(shè)計、軟件qt開發(fā)軟件wpf開發(fā)、軟件vue開發(fā)

 

日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://m.bouu.cn

存檔