el-form多個(gè)表單同時(shí)驗(yàn)證必填項(xiàng)

<template>
        <el-form :model="formData" status-icon :rules="rules" label-width='200px' label-position="right" ref="formData1" >
            <el-form-item label="訂單號(hào):" v-if="editorShow" class="el-form-pad">
                <template slot-scope="scope">
                    <el-button type="text" @click="onEdit(scope.row, scope.$index)"> {{formData.orderId}} </el-button>
                </template>
            </el-form-item>
        </el-form>
        
        
        <el-form :model="formData" status-icon :rules="rules" label-width='200px' label-position="right" ref="formData2">
            <el-form-item label="訂單類型:" prop="orderTypeValue">
                <el-select v-model="formData.orderTypeValue" placeholder="請(qǐng)選擇" size="mini" :disabled="disableIsShow">
                    <el-option v-for="item in orderTypeList" :key="item.orderTypeValue" :label="item.orderTypeName" :value="item.orderTypeValue"></el-option>
                </el-select>
            </el-form-item>
        </ell-form>
        
        <el-form :model="formData" status-icon :rules="rules" label-width='200px' label-position="right" ref="formData3">
            <el-form-item label="收貨人:" prop="userName"> 
                <el-input v-model="formData.userName" size="mini" class="box-width" :disabled="disableIsShow" />
            </el-form-item>
        </el-form>
        
        <button class="mini-search-btn" @click="handleSave('formData')"> 保存訂單 </button>
        
    </template>

<script>
        export default {
            data() {
                return {
                    formData: {
                        orderTypeValue: '', // 訂單類型
                        distributionId: '', // 配送方式
                        invoiceType: '', // 發(fā)票類型
                        payWay: '', // 支付方式
                        isInvoice: 0, // 是否開(kāi)票
                        provinceId: "", // 省份id
                        cityId: "", // 城市id
                        districtId: "", // 區(qū)id
                        importOrderId: "",
                        zipCode: '', // 郵編
                    },
                    rules: { // 必填輸入提示
                        payWay: [ {required: true, message: '請(qǐng)選擇支付方式', trigger: 'change' } ],
                        distributionId: [ {required: true, message: '請(qǐng)選擇配送方式', trigger: 'change' } ],
                        orderTypeValue: [ { required: true, message: "請(qǐng)選擇訂單類型", trigger: "change" } ],
                        userName: [ { required: true, message: "請(qǐng)輸入收貨人名字", trigger: "blur" } ],
                        provinceId: [ { required: true, message: "請(qǐng)選擇地區(qū)", trigger: "change" } ],
                        address: [  { required: true,message: "請(qǐng)輸入街道地址",trigger: "blur"} ],
                        mobile: [ { required: true,message: "請(qǐng)輸入手機(jī)號(hào)碼",trigger: "blur"}, { validator: validatePhone } ],
                    },
                }
            },
            methods: { 
                // 對(duì)多個(gè)form進(jìn)行promise封裝進(jìn)行同時(shí)驗(yàn)證
                handleSave(formData) { // 保存操作
                    let formArr=['formData1','formData2','formData3']//三個(gè)form表單的ref
                    var resultArr=[] //用來(lái)接受返回結(jié)果的數(shù)組
                    var _self=this
                    function checkForm(formName) { //封裝驗(yàn)證表單的函數(shù)
                        var result = new Promise(function(resolve, reject) {
                            _self.$refs[formName].validate((valid) => {
                                if (valid) {
                                    resolve();
                                } else { reject() }
                            })
                        })
                        resultArr.push(result) //push 得到promise的結(jié)果
                    }
                    formArr.forEach(item => { //根據(jù)表單的ref校驗(yàn)
                            checkForm(item)
                    })
                    Promise.all(resultArr).then(values => {
                            this.submitForm() // 此時(shí)必填完成,做保存后的業(yè)務(wù)操作
                    }).catch( _ => {
                        console.log('err')
                    })
                },
            }
        }
    </script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子笑窜,更是在濱河造成了極大的恐慌蛮瞄,老刑警劉巖含蓉,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件命锄,死亡現(xiàn)場(chǎng)離奇詭異囱桨,居然都是意外死亡十办,警方通過(guò)查閱死者的電腦和手機(jī)秀撇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)向族,“玉大人呵燕,你說(shuō)我怎么就攤上這事〖啵” “怎么了再扭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)夜矗。 經(jīng)常有香客問(wèn)我泛范,道長(zhǎng),這世上最難降的妖魔是什么紊撕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任罢荡,我火速辦了婚禮,結(jié)果婚禮上对扶,老公的妹妹穿的比我還像新娘区赵。我一直安慰自己,他們只是感情好浪南,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布笼才。 她就那樣靜靜地躺著,像睡著了一般络凿。 火紅的嫁衣襯著肌膚如雪患整。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天喷众,我揣著相機(jī)與錄音,去河邊找鬼紧憾。 笑死到千,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赴穗。 我是一名探鬼主播憔四,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼膀息,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了了赵?” 一聲冷哼從身側(cè)響起潜支,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎柿汛,沒(méi)想到半個(gè)月后冗酿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡络断,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年裁替,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片貌笨。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弱判,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锥惋,到底是詐尸還是另有隱情昌腰,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布膀跌,位于F島的核電站遭商,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏淹父。R本人自食惡果不足惜株婴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望暑认。 院中可真熱鬧困介,春花似錦、人聲如沸蘸际。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)粮彤。三九已至根穷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間导坟,已是汗流浹背屿良。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惫周,地道東北人尘惧。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像递递,于是被迫代替她去往敵國(guó)和親喷橙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啥么,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容