Vue项目中element表单的循环校验

在工作中碰到了一个需求,就是返回数据在表单里循环显示,在提交的时候就得对表单进行循环校验,但是使用element普通的校验方法是不生效的。需要对el-form-item 设置单独的props和rules
在这里插入图片描述

props中items是循环的数组,index是循环的index,后边拼接的是需要校验对象的字段名,
rules是校验规则可以再data中设置,校验方式都是一样的,
话不多说直接上代码:

<el-row :gutter="80" v-for="(shop, index) in form.items" :key="index">
	<el-col :span="11">
		<!--props中items是循环的对象 index是循环的index 后边拼接的是需要校验对象的字段名,
		:rules是校验规则可以再data中设置 -->
		<el-form-item 
		label="货物名称" 
		:prop="'items.' + index + '.name'" 
		:rules="itemForm.checkName"
		>
			<el-input v-model="shop.name" autocomplete="off"></el-input>
		</el-form-item>
	</el-col>
	<el-col :span="11">
		<el-form-item
		label="金额"
		:prop="'items.' + index + '.subTotal'"
		:rules="itemForm.checkSubTotal"
		>
			<el-input v-model="shop.subTotal" autocomplete="off"></el-input>
		</el-form-item>
	</el-col>
</el-row>
export default {
	data(){
		return {
			itemForm:{
				checkSubTotal: [
					{
						required: false,
						trigger: "blur",
					},
					{
						pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/,//
						message: "金额格式不正确",
						trigger: "blur",
					},
				],
				checkName: [
					{
						required: true,
						message: "请输入货物名称",
						trigger: "blur",
					},
				]
			}
		}
	}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值