element-ui?form表單的動態(tài)rules校驗功能實現(xiàn)
element-ui form表單的動態(tài)rules校驗
在vue 項目中,有時候可能會用到element-ui form表單的動態(tài)rules校驗,比如說選擇了哪個選項,然后動態(tài)顯示或者禁用等等。我們可以巧妙的運用element-ui form表單里面form-item想的校驗規(guī)則來處理(每一個form-item項都可以單獨校驗)。

上代碼:
<el-form-item
label="3、屬于以下何種優(yōu)先配售類型(單選,符合以下條件之一即屬于優(yōu)先配售范圍)"
prop="yxpslx"
:rules="sqyxForm.jtpslx == '0' ? { required: true, message: '請選擇', trigger: 'change'} : {}"
label-width="600px"
style="display:flex; flex-direction: column;"
class="elformitem3"
>
<el-radio-group v-model="sqyxForm.yxpslx" :disabled="sqyxForm.jtpslx ==1" @change="changeYxpsRadio">
<el-radio label="0" class="mb10" :disabled="sqyxForm.jtsgry == '0' && sqyxForm.jtpslx == '0'">A.夫妻雙方均符合共有產(chǎn)權(quán)住房申購條件且共同申購</el-radio
><br />
<el-radio label="1" class="mb10" :disabled="sqyxForm.jtsgry == 1">B.港澳青年</el-radio>
<br />
<el-radio label="2" class="mb10" :disabled="sqyxForm.jtsgry == 1">C.二孩以上家庭</el-radio>
<br />
<el-radio label="3" :disabled="sqyxForm.jtsgry == 1">D.經(jīng)區(qū)政府批準(zhǔn)的優(yōu)先保障對象</el-radio>
</el-radio-group>
</el-form-item>重點是這個: :rules=“sqyxForm.jtpslx == ‘0’ ? { required: true, message: ‘請選擇’, trigger: ‘change’} : {}”sqyxForm.jtpslx == ‘0’ 這個是我上面的選項來動態(tài)顯示或者禁用的,當(dāng)禁用的時候,就不校驗?。?!
vue elementui el-form rules動態(tài)驗證
一、介紹
簡介:在使用elementUI el-form 中,對于業(yè)務(wù)不同的時候可能會產(chǎn)生不同表單結(jié)構(gòu),但是都是存在同一個表單控件el-form中。
圖片介紹:
1、在用戶選擇單選或多選時會有A,B,C,D,E五個選項

2、在用戶選擇簡答題時只會題干,答案以及解析選項(主要是通過v-if來進行判斷)

問題引入:當(dāng)用戶選擇不同的題庫時會產(chǎn)生不同的form表單選項,這個時候在進行表單提交驗證的時候就需要根據(jù)不同試題類型進行判斷,這個時候就需要兩個rules來動態(tài)進行表單校驗。
解決方法:在頁面加載的時候在computed方法中進行動態(tài)判斷直接返回賦值。
代碼介紹:
// elementui信息
<el-form :model="addQueTable" ref="addQueTable" :rules="addQueRulesList">
<el-form>
// data中定義rules
updateQusRulesSel:[];
updateQusRules:[];
// computed方法
computed: {
// this.updateQusTable.showSelect自己定義的標(biāo)識
updateQusRulesList: function() {
if (this.updateQusTable.showSelect) {
return this.updateQusRulesSel;
} else {
return this.updateQusRules;
}
}總結(jié):在computed中進行值綁定,當(dāng)該表單顯示的時候就會觸發(fā)(一開始是隱藏的),如果一開始頁面加載的時候就觸發(fā)會無法進行值判斷,從而報錯。其實能解決問題,通過該種方法。
二、最簡單解決方法
在el-form中定義的rules檢驗字段,如果你的rules中有字段通過v-if進行隱藏,rules是不會對隱藏的字段選項進行判斷,只要定義一個完整的rules就行,v-if隱藏的部分不會進入校驗方法中。
把簡單的問題復(fù)雜化了?。。。?!
感謝該用戶:

到此這篇關(guān)于element-ui form表單的動態(tài)rules校驗的文章就介紹到這了,更多相關(guān)element-ui動態(tài)rules校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue Form表單的使用方法(rules格式校驗網(wǎng)絡(luò)校驗鍵盤按鍵監(jiān)聽)
本文介紹了在Vue.js中使用表單校驗規(guī)則(rules)進行網(wǎng)絡(luò)請求校驗的方法,以及如何通過formRef引用表單對象并進行鍵盤按鍵監(jiān)聽,感興趣的朋友跟隨小編一起看看吧2024-11-11
vue-cli3項目配置eslint代碼規(guī)范的完整步驟
這篇文章主要給大家介紹了關(guān)于vue-cli3項目配置eslint代碼規(guī)范的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
vue3中vite.config.js相關(guān)常用配置超詳細講解
在Vue3項目中vite.config.js文件是Vite構(gòu)建工具的配置文件,它用于定義項目的構(gòu)建和開發(fā)選項,這篇文章主要介紹了vue3中vite.config.js相關(guān)常用配置的相關(guān)資料,需要的朋友可以參考下2025-04-04
解決element-ui庫的el-row的gutter=10間距失效問題
這篇文章主要介紹了解決element-ui庫的el-row的gutter=10間距失效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

