vue2.0 + ele的循環(huán)表單及驗(yàn)證字段方法
關(guān)于vue2.0 + ele的表單循環(huán)以及對應(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="賬號" 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)鍵,這樣做才可以對循環(huán)里每一條做判斷 for (let i = 0; i < this.form.xh.length; i++) { value = this.form.xh[i].tel; var vdt = this.VDT.vdata(value, { //這里需要你自己去在另一個文件里配上 'required': {msg: '請?zhí)顚戀~號'} }); 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, { //這里需要你自己去在另一個文件里配上 'required': {msg: '請?zhí)顚懶彰?} }); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } } else { callback(); } } }; //因?yàn)檫@里不是循環(huán)里面的,所以value對應(yīng)的值就一個故可直接使用 var checkAge = (rule, value, callback) => { var vdt = this.VDT.vdata(value, {'required': {msg: '請?zhí)顚懩挲g'}}); if (!vdt.result) { callback(new Error(vdt.msg)); } else { callback(); } }; return { form: { xh:[{ tel, nickname, isnickname:false, //附一個初始值,默認(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 => { //這里請求對應(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ā)時總結(jié)出來的經(jīng)驗(yàn),希望可以有所幫助。
以上這篇vue2.0 + ele的循環(huán)表單及驗(yàn)證字段方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決打包后出現(xiàn)錯誤y.a.addRoute is not a function的
這篇文章主要介紹了解決打包后出現(xiàn)y.a.addRoute is not a function的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫ajax請求
之前給大家介紹了jQuery利用最優(yōu)雅的方式寫ajax請求的相關(guān)內(nèi)容,這篇文章主要給大家介紹了關(guān)于axios進(jìn)階實(shí)踐之利用最優(yōu)雅的方式寫ajax請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-12-12Vue3+TypeScript封裝axios并進(jìn)行請求調(diào)用的實(shí)現(xiàn)
這篇文章主要介紹了Vue3+TypeScript封裝axios并進(jìn)行請求調(diào)用的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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-02vue對象添加屬性(key:value)、顯示和刪除屬性方式
這篇文章主要介紹了vue對象添加屬性(key:value)、顯示和刪除屬性方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07