vue2.0 + ele的循環(huán)表單及驗(yàn)證字段方法
關(guān)于vue2.0 + ele的表單循環(huán)以及對(duì)應(yīng)字段的驗(yàn)證!?。。?!
html代碼
<el-form ref="ruleForm" :inline="true" :model="form" label-width="140px" :rules="rules" v-loading.fullscreen.lock="fullScreenLoading" element-loading-text="拼命加載中..."> <div v-for="(item, index) in form.xh" @click="handleindex(index)"> <el-form-item label="賬號(hào)" prop="tel"> <el-input v-model="item.tel" ></el-input> </el-form-item> <el-form-item label="姓名" prop="nickname" v-show="item.isnickname"> <el-input v-model="item.nickname"></el-input> </el-form-item> </div> <el-form-item label="年齡" prop="age"> <el-input v-model="form.age"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button> <el-button @click="onCancel">取消</el-button> </el-form-item> </el-form>
script代碼
//引入接口 import { fetchdata, } from 'src/api/login' export default { var checkTel = (rule, value, callback) => { //循環(huán)判斷這里是關(guān)鍵,這樣做才可以對(duì)循環(huán)里每一條做判斷 for (let i = 0; i < this.form.xh.length; i++) { value = this.form.xh[i].tel; var vdt = this.VDT.vdata(value, { //這里需要你自己去在另一個(gè)文件里配上 'required': {msg: '請(qǐng)?zhí)顚戀~號(hào)'} }); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } } }; var checkNickname = (rule, value, callback) => { for (let i = 0; i < this.form.xh.length; i++) { //先判斷有沒有姓名,假使nickname為false那就不要驗(yàn)證 if (this.form.xh[i].isNickname) { value = this.form.xh[i].nickname; var vdt = this.VDT.vdata(value, { //這里需要你自己去在另一個(gè)文件里配上 'required': {msg: '請(qǐng)?zhí)顚懶彰?} }); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } } else { callback(); } } }; //因?yàn)檫@里不是循環(huán)里面的,所以value對(duì)應(yīng)的值就一個(gè)故可直接使用 var checkAge = (rule, value, callback) => { var vdt = this.VDT.vdata(value, {'required': {msg: '請(qǐng)?zhí)顚懩挲g'}}); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } }; return { form: { xh:[{ tel, nickname, isnickname:false, //附一個(gè)初始值,默認(rèn)不顯示。 }], age:'', id:'1', }, rules: { tel: [{required: true, validator:checkTel,trigger: 'blur',}], nickname: [{required: true, validator:checkNickname,trigger: 'blur',}], age: [{required: true, validator:checkAge,trigger: 'blur',}], }, }, }, created() { this.getData(); }, methods: { getData() { this.fullScreenLoading = true; fetchdata(this.id).then(response => { //這里請(qǐng)求對(duì)應(yīng)的接口 if(response.data.success == true) { this.fullScreenLoading = false; this.form = response.data.data; //返回?cái)?shù)據(jù)賦給表單 }else{ this.fullScreenLoading = false; return false; } } } }
本文只是作者在開發(fā)時(shí)總結(jié)出來(lái)的經(jīng)驗(yàn),希望可以有所幫助。
以上這篇vue2.0 + ele的循環(huán)表單及驗(yàn)證字段方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決打包后出現(xiàn)錯(cuò)誤y.a.addRoute is not a function的
這篇文章主要介紹了解決打包后出現(xiàn)y.a.addRoute is not a function的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫ajax請(qǐng)求
之前給大家介紹了jQuery利用最優(yōu)雅的方式寫ajax請(qǐng)求的相關(guān)內(nèi)容,這篇文章主要給大家介紹了關(guān)于axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫ajax請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12Vue3+TypeScript封裝axios并進(jìn)行請(qǐng)求調(diào)用的實(shí)現(xiàn)
這篇文章主要介紹了Vue3+TypeScript封裝axios并進(jìn)行請(qǐng)求調(diào)用的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04基于Vue實(shí)現(xiàn)本地消息隊(duì)列MQ的示例詳解
這篇文章為大家詳細(xì)主要介紹了如何基于Vue實(shí)現(xiàn)本地消息隊(duì)列MQ, 讓消息延遲消費(fèi)或者做緩存,文中的示例代碼講解詳細(xì),需要的可以參考一下2024-02-02淺談mint-ui loadmore組件注意的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談mint-ui loadmore組件注意的問(wèn)題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11vue對(duì)象添加屬性(key:value)、顯示和刪除屬性方式
這篇文章主要介紹了vue對(duì)象添加屬性(key:value)、顯示和刪除屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07