使用iview中form表单验证时表单loading加载 但是并没显示错误警告的bug

最近在开发项目的时候遇到了一个问题 就是iview form表单使用的时候表单没有显示错误提示 只是不符合规则的表单loading中 且不能执行其他的操作

代码原始是这样的

data () {
	const validateForm = (rule, value, callback) => {
		if (!this.form.address.length && rule.field === 'address' ) { // 省略了其他的条件
			console.log(11)
		}
	}
	return {
		form: {}, // 表单
		formRules: { // 表单验证规则
			address: [
	          {
	            validator: validateForm, // 因为有些其他的操作所以使用了自定义的验证
	            type: 'array',
	            required: true,
	            message: '.',
	            trigger: 'blur'
	          }
	        ],
		}
	}
},

然后经历了一系列的验证 检测 终于发现是因为这个自定义验证规则函数的事情 因为this.form.address有可能为undefined 所有获取不到length 并且并没有在调试控制台报错 所以导致出现上述的情况所以改了改

data () {
	const validateForm = (rule, value, callback) => {
		if ((!this.form.address || this.form.address.length) && rule.field === 'address' ) { // 省略了其他的条件
			console.log(11)
		}
	}
	return {
		form: {}, // 表单
		formRules: { // 表单验证规则
			address: [
	          {
	            validator: validateForm, // 因为有些其他的操作所以使用了自定义的验证
	            type: 'array',
	            required: true,
	            message: '.',
	            trigger: 'blur'
	          }
	        ],
		}
	}
},

记录一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值