el-form-item内多个输入框的 validate 校验

这篇博客介绍了如何在Vue.js的el-form组件中实现复合输入框的必填验证规则。通过el-form-item的prop属性绑定校验规则,并自定义验证方法确保用户在申请贷款银行字段中同时填写分行和支行信息。示例代码展示了如何设置验证规则以及处理验证错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表单中复合型输入框, 使其都满足必填验证规则 。

<el-form ref="loaninfo" :model="formData" :rules="loanrules">

	<el-form-item label="申请贷款银行" prop="bank">
		<el-input placeholder="请填写分行和支行信息" v-model="formData.bank2" class="input-with-select" :style="{width: '100%'}">
			<el-select v-model="formData.bank1" slot="prepend" placeholder="请选择贷款银行" :style="{width: '200px'}">
				<el-option v-for="dict in bankOptions" 
					:key="dict.dictValue" :label="dict.dictLabel"
					:value="dict.dictValue" :disabled="dict.disabled">
				</el-option>
			</el-select>
		</el-input>
	</el-form-item> 
	
</el-form>

验证规则方法:
el-form 提供了表单校验功能, :rules 属性设置校验规则,并通过 el-form-item 的 prop 属性绑定校验规则。
elemnt-ui官方验证规则
需要注意的是,如果要用 rules 进行表单校验,那么 el-input 绑定的元素必须是 el-form 的 model 的直接属性,否则会导致校验失败。

export default {
	data() {
		// 自定义银行验证规则
		var bankRule = (rule, value, callback) => {
			if (!(this.formData.bank1 && this.formData.bank2)) {
				return callback(new Error('请输入完整的贷款银行信息'));
			} else {
				callback();
			}
		}
		
		return {
			loanrules: {   
				bank: [{ 
					required: true, 
					validator: bankRule, 
					trigger: 'change' 
				}]
			}
		}
	
	}
}

这段代码中 el-form 的 model 是 formData,那么 el-form-item 中所有需要校验的表单的 的 model 也必须是 formData.xxx ,即 formData 对象的直接属性。

效果:
验证展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值