element-ui?form表單的動(dòng)態(tài)rules校驗(yàn)功能實(shí)現(xiàn)
element-ui form表單的動(dòng)態(tài)rules校驗(yàn)
在vue 項(xiàng)目中,有時(shí)候可能會(huì)用到element-ui form表單的動(dòng)態(tài)rules校驗(yàn),比如說選擇了哪個(gè)選項(xiàng),然后動(dòng)態(tài)顯示或者禁用等等。我們可以巧妙的運(yùn)用element-ui form表單里面form-item想的校驗(yàn)規(guī)則來處理(每一個(gè)form-item項(xiàng)都可以單獨(dú)校驗(yàn))。
上代碼:
<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>
重點(diǎn)是這個(gè): :rules=“sqyxForm.jtpslx == ‘0’ ? { required: true, message: ‘請選擇’, trigger: ‘change’} : {}”sqyxForm.jtpslx == ‘0’ 這個(gè)是我上面的選項(xiàng)來動(dòng)態(tài)顯示或者禁用的,當(dāng)禁用的時(shí)候,就不校驗(yàn)?。?!
vue elementui el-form rules動(dòng)態(tài)驗(yàn)證
一、介紹
簡介:在使用elementUI el-form 中,對于業(yè)務(wù)不同的時(shí)候可能會(huì)產(chǎn)生不同表單結(jié)構(gòu),但是都是存在同一個(gè)表單控件el-form中。
圖片介紹:
1、在用戶選擇單選或多選時(shí)會(huì)有A,B,C,D,E五個(gè)選項(xiàng)
2、在用戶選擇簡答題時(shí)只會(huì)題干,答案以及解析選項(xiàng)(主要是通過v-if來進(jìn)行判斷)
問題引入:當(dāng)用戶選擇不同的題庫時(shí)會(huì)產(chǎn)生不同的form表單選項(xiàng),這個(gè)時(shí)候在進(jìn)行表單提交驗(yàn)證的時(shí)候就需要根據(jù)不同試題類型進(jìn)行判斷,這個(gè)時(shí)候就需要兩個(gè)rules來動(dòng)態(tài)進(jìn)行表單校驗(yàn)。
解決方法:在頁面加載的時(shí)候在computed方法中進(jìn)行動(dòng)態(tài)判斷直接返回賦值。
代碼介紹:
// elementui信息 <el-form :model="addQueTable" ref="addQueTable" :rules="addQueRulesList"> <el-form> // data中定義rules updateQusRulesSel:[]; updateQusRules:[]; // computed方法 computed: { // this.updateQusTable.showSelect自己定義的標(biāo)識(shí) updateQusRulesList: function() { if (this.updateQusTable.showSelect) { return this.updateQusRulesSel; } else { return this.updateQusRules; } }
總結(jié):在computed中進(jìn)行值綁定,當(dāng)該表單顯示的時(shí)候就會(huì)觸發(fā)(一開始是隱藏的),如果一開始頁面加載的時(shí)候就觸發(fā)會(huì)無法進(jìn)行值判斷,從而報(bào)錯(cuò)。其實(shí)能解決問題,通過該種方法。
二、最簡單解決方法
在el-form中定義的rules檢驗(yàn)字段,如果你的rules中有字段通過v-if進(jìn)行隱藏,rules是不會(huì)對隱藏的字段選項(xiàng)進(jìn)行判斷,只要定義一個(gè)完整的rules就行,v-if隱藏的部分不會(huì)進(jìn)入校驗(yàn)方法中。
把簡單的問題復(fù)雜化了?。。。?!
感謝該用戶:
到此這篇關(guān)于element-ui form表單的動(dòng)態(tài)rules校驗(yàn)的文章就介紹到這了,更多相關(guān)element-ui動(dòng)態(tài)rules校驗(yàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue Form表單的使用方法(rules格式校驗(yàn)網(wǎng)絡(luò)校驗(yàn)鍵盤按鍵監(jiān)聽)
本文介紹了在Vue.js中使用表單校驗(yàn)規(guī)則(rules)進(jìn)行網(wǎng)絡(luò)請求校驗(yàn)的方法,以及如何通過formRef引用表單對象并進(jìn)行鍵盤按鍵監(jiān)聽,感興趣的朋友跟隨小編一起看看吧2024-11-11vue-cli3項(xiàng)目配置eslint代碼規(guī)范的完整步驟
這篇文章主要給大家介紹了關(guān)于vue-cli3項(xiàng)目配置eslint代碼規(guī)范的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09uniApp前端實(shí)現(xiàn)文字識(shí)別并提取詳細(xì)分析
這篇文章主要介紹了如何實(shí)現(xiàn)文字圖片分析的功能,包括頁面結(jié)構(gòu)、樣式和腳本邏輯,主要步驟包括獲取access_token、將圖片轉(zhuǎn)換為Base64格式、上傳至百度文字識(shí)別接口并處理返回結(jié)果,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02vue3中vite.config.js相關(guān)常用配置超詳細(xì)講解
在Vue3項(xiàng)目中vite.config.js文件是Vite構(gòu)建工具的配置文件,它用于定義項(xiàng)目的構(gòu)建和開發(fā)選項(xiàng),這篇文章主要介紹了vue3中vite.config.js相關(guān)常用配置的相關(guān)資料,需要的朋友可以參考下2025-04-04解決element-ui庫的el-row的gutter=10間距失效問題
這篇文章主要介紹了解決element-ui庫的el-row的gutter=10間距失效問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Vue渲染器設(shè)計(jì)實(shí)現(xiàn)流程詳細(xì)講解
在瀏覽器平臺(tái)上,用它來渲染其中的真實(shí)DOM元素。渲染器不僅能夠渲染真實(shí)的DOM元素,它還是框架跨平臺(tái)能力的關(guān)鍵。所以在設(shè)計(jì)渲染器的時(shí)候一定要考慮好自定義的能力2023-01-01在vue中v-bind使用三目運(yùn)算符綁定class的實(shí)例
今天小編就為大家分享一篇在vue中v-bind使用三目運(yùn)算符綁定class的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue自定義權(quán)限標(biāo)簽詳細(xì)代碼示例
這篇文章主要給大家介紹了關(guān)于vue自定義權(quán)限標(biāo)簽的相關(guān)資料,在Vue中你可以通過創(chuàng)建自定義組件來實(shí)現(xiàn)自定義標(biāo)簽組件,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-09-09