element ui 中循环列表的表单怎么校验(v-for动态绑定的数据)

在vue项目中,使用element-ui的表单校验能节省很多时间,简单的对象表单校验,很简单,使用prop属性就可以直接校验。但是,如果表单项里有通过v-for动态生成的数组对象,又该怎么设置验证呢?

1、总结:

// 简单总结一下:
// 1、prop 属性动态绑定,为model对象下的数据,如formData.trip.days为循环数组:
// 则::model="formData",:prop="'trip.days.'+ index +'.goProvince'"
// 2、在el-form-item 标签上添加 rules 属性,属性值为rules绑定的对象下的值。
// 即::rules="formDataRules.tripGoCity"

2、template示例:

<el-form ref="formData" :model="formData" :rules="formDataRules" label-width="120px">
	<div v-for="(item,index) in formData.trip.days" :key="index">
		<el-form-item :prop="'trip.days.'+ index +'.goProvince'" :rules="formDataRules.tripGoProvince" label="出发省份">                              
			<el-input v-model="item.goProvince"></el-input>
		</el-form-item>
	    <el-form-item :prop="'trip.days.'+ index +'.goCity'" :rules="formDataRules.tripGoCity"  label="出发城市">
	      <el-input v-model="item.goCity"></el-input>
	    </el-form-item>
	</div>
</el-form>

3、script示例:

data(){
	return {	
	 	formData: { 
	         trip: {
	          days: [{
	           		startDate: '',
	           		endDate: '',
	           		phone: ''
	           	}]
	      	}
		},
		formDataRules: {  // 添加校验
			 tripGoProvince:[
			   {required: true, message: '请输入出发省份',trigger: 'change'}
			 ],
			 tripGoCity:[
			   {required: true, message: '请输入出发城市',trigger: 'change'}
			 ],
		};
	}
}
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值