成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

vue + el-form 實現的多層循環表單驗證

瀏覽:98日期:2022-10-24 08:39:45

html

<el-form :model='formObj' :rules='rules' ref='ruleForm'> <el-form-item :label='’護理記錄項目配置:’' label-width='180px'> <template v-for='(formItem, index) in formObj.formDictExtendDoList'> <div :key='formItem.id'> <el-row> <el-col :span='8'> <el-form-item :label='’字段名稱:’' label-:rules='rules.fieldName' :prop='’formDictExtendDoList.’+index+’.fieldName’' > <el-inputv-model.trim='formItem.fieldName'type='text':clearable='true'maxLength='100'placeholder='請輸入' /> <!--@blur='isRepeat(formItem, index, ’fieldName’)'--> </el-form-item> </el-col> <template v-for='(child, index1) in formItem.item' v-show='formItem.type === 2' > <el-col :span='8' :key='child.id'> <el-form-item:label='’選項’ + (index1+1) + ’:’'label- :rules='rules.value':prop='’formDictExtendDoList.’+index+’.item.’+index1+’.value’' ><el-input v-model.trim='child.value' @input='forceUpdate' :clearable='true' type='text' maxlength='20' placeholder='請輸入'/> </el-form-item> </el-col> </template> </el-row> </div> </template> </el-form-item></el-form>

js

let _THATexportdefault { name: ’formMangeAdd’, data() { return { formObj: {formDictExtendDoList: [] }, rules: {fieldName: [{ required: true, message: ’請輸入’, trigger: ’blur’}, { validator: this.itemValidator, trigger: ’blur’}],value: [{ validator: (rule, value, callback) = > { // I’m a genius. let that = _THAT that.forceUpdate() let field = rule.field let arr = field.split(’.’) let index = +arr[1] let index1 = +arr[3] let _value = that.formObj.formDictExtendDoList[index].item[index1].value if (_value === ’’ || _value === null || _value === undefined) { callback(new Error(’請輸入’)) } else { callback() } }, trigger: ’blur’}] } } }, beforeCreate() { _THAT = this }, created() { // 測試數據 let test = [{ id: ’id_1595641858891’, // 唯一配置id fieldName: ’字段名稱’, // 字段名稱 item: [] }, { id: ’id_1595641858892’, // 唯一配置id fieldName: ’字段名稱’, // 字段名稱 item: [] }, { id: ’id_1595641858893’, // 唯一配置id fieldName: ’字段名稱’, // 字段名稱 item: [{id: ’item_id_1595641858891’,// 唯一idvalue: ’選項1’ }, {id: ’item_id_1595641858892’,// 唯一idvalue: ’選項2’ }] }] this.formObj.formDictExtendDoList = test }, methods: { /** * 重復性判斷 **/ itemValidator: (rule, value, callback) = > { let that = _THAT that.forceUpdate() let field = rule.field let ruleArr = field.split(’.’) let index = +ruleArr[1] let type = ruleArr[2] if (value === ’’) {callback()return false } let arr = [] for (let i = 0; i < that.formObj.formDictExtendDoList.length; i++) {let formDictExtendDoListItem = that.formObj.formDictExtendDoList[i]let formDictExtendDoListFieldName = formDictExtendDoListItem.fieldNamelet formDictExtendDoListProjectName = formDictExtendDoListItem.projectNameif (index !== i) { if (type === ’fieldName’) { if (formDictExtendDoListFieldName !== ’’) { if (formDictExtendDoListFieldName === value) {arr.push(i) } } }} } if (arr.length !== 0) {if (type === ’fieldName’) { callback(new Error(’與配置’ + (+arr[0] + 1) + ’的字段名稱重復’)) setTimeout(function() { that.formObj.formDictExtendDoList[index].fieldName = ’’ }, 500)} } else {callback() } }, forceUpdate() { this.$forceUpdate() } }}

以上就是vue + el-form 實現的多層循環表單驗證的詳細內容,更多關于vue 表單驗證的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 三级黄色毛片视频 | 日韩一级不卡 | 亚洲qingse中文久久网 | 美女拍拍拍爽爽爽爽爽爽 | 美女张开腿让男人桶的 视频 | 成人在线a | 999热成人精品国产免 | 国产欧美日韩另类 | 欧美一级乱理片免费观看 | 国产精品欧美亚洲日本综合 | 大陆老太xxxxxxxxhd | 99久久免费精品国产免费高清 | a中文字幕1区 | 美女张开腿让男人捅的视频 | 亚洲欧美日韩在线观看二区 | 亚洲精品午夜一区二区在线观看 | 久久成人免费观看草草影院 | 9丨精品国产高清自在线看 ⅹxx中国xxx人妖 | 亚洲国产精品成人午夜在线观看 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 中国国产一级毛片 | 亚洲第一视频网站 | 9191精品国产费久久 | 国产99精品一区二区三区免费 | 欧美一级毛片免费高清aa | 亚洲一区二区三区一品精 | 久久伊人免费视频 | 国产网址在线 | 亚洲高清视频网站 | 国产伦精品一区二区三区 | 男女在线免费视频 | 久久99久久精品国产只有 | 国产大臿蕉香蕉大视频女 | 成人国产永久福利看片 | 日韩精品久久久毛片一区二区 | 真实国产精品视频国产网 | 亚洲久草| 国产在线观看一区二区三区四区 | 男人把女人桶到喷白浆的视频 | 九九精彩视频在线观看视频 | 男女国产一级毛片 |