Element-ui 之 form表单套数组、表单数组套数组的校验rule


rule 直接赋值到对应的 el-form-item

话不多说,直接上代码:

<!-- 上面还有代码,只摘了主要代码出来 -->
<div class="flex-item-center district-list-item" v-for="(item, index) in form.districtList" :key="index">
  <div class="form-wrap">
     <div class="flex-item-center">
       <el-form-item
         label="库区名"
         label-width="80px"
         :prop="`districtList[${index}].districtName`"
         :rules="listRules.districtName"
       >
         <el-input
           v-model="item.districtName"
           placeholder="请输入库区名"
           maxlength="10"
           @blur="districtNameBlur($event, index)"
         />
       </el-form-item>
       <el-form-item label="库区编号" :prop="`districtList[${index}].districtCode`" :rules="listRules.districtCode">
         <el-input
           v-model="item.districtCode"
           placeholder="请输入库区编号"
           maxlength="10"
           @blur="districtCodeBlur($event, index)"
         />
       </el-form-item>
       <el-button
         type="primary"
         icon="el-icon-plus"
         style="margin-left: 10px; margin-bottom: 22px"
         circle
         @click="addStorage(index)"
       ></el-button>
     </div>
     <div style="margin-left: 50px">
       <div class="box-title2" v-show="item.storageList.length > 0">新增库位</div>
       <div class="flex-item-center warehouse-list-item" v-for="(curr, idx) in item.storageList" :key="idx">
         <div class="flex-item-center">
           <el-form-item
             label="库位名"
             label-width="80px"
             :rules="listRules2.storageName"
             :prop="`districtList[${index}].storageList[${idx}].storageName`"
           >
             <el-input
               v-model="curr.storageName"
               placeholder="请输入库位名"
               maxlength="10"
               @blur="storageNameBlur($event, index, idx)"
             />
           </el-form-item>
           <el-form-item
             label="库位编号"
             :prop="`districtList[${index}].storageList[${idx}].storageCode`"
             :rules="listRules2.storageCode"
           >
             <el-input
               v-model="curr.storageCode"
               placeholder="请输入库位编号"
               maxlength="10"
               @blur="storageCodeBlur($event, index, idx)"
             />
           </el-form-item>
           <el-button
             type="warning"
             icon="el-icon-minus"
             style="margin-left: 10px; margin-bottom: 22px"
             v-show="idx != 0"
             circle
             @click="delStorage(index, idx)"
           ></el-button>
         </div>
       </div>
     </div>
   </div>
   <div class="flex-col-center" style="margin-left: 20px">
     <el-button type="primary" icon="el-icon-folder-add" style="margin-bottom: 10px" @click="addDistrict">
       增加
     </el-button>
     <el-button
       type="warning"
       v-show="index != 0"
       icon="el-icon-folder-remove"
       style="margin: 0"
       @click="delDistrict(index)"
     >
       删除
     </el-button>
   </div>
 </div>
 <!-- 下面还有代码,只摘了主要代码出来 -->
export default {
	data() {
		form: {},
		listRules: {
		 districtName: [{ required: true, message: '库区名不能为空', trigger: 'blur' }],
		  districtCode: [{ required: true, message: '库区编号不能为空', trigger: 'blur' }],
		},
		listRules2: {
		  storageName: [{ required: true, message: '库位名不能为空', trigger: 'blur' }],
		  storageCode: [{ required: true, message: '库位编号不能为空', trigger: 'blur' }],
		},
	}
}

亲测有效!!!


如有不足,望大家多多指点! 谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhuangvi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值