element-ui的表单验证规则只是简单的规则,很多时候我们需要添加自定义的规则。比如
let checkNumL = (rule, value, callback) => {
if (String(value).length !== 11) {
return callback(new Error('联系方式必须为11位!'))
} else {
callback()
}
}
刚开始写的时候,发现怎么也不能执行最后的验证方法了
if (valid) {
if (new Date(this.formList.date1).getTime() > new Date(this.formList.date2).getTime()) {
this.$message.error('开始日期必须小于结束日期')
return false
} else {
this.$http(method, url, {}, self.formList).then((data) => {
if (parseInt(data.code) === 0) {
self.$emit('listrefresh')
this.$message({
message: '新增成功',
type: 'success'
})
this.dialogFormVisible = false
}
})
}
} else {
console.log('error submit!!')
return false
}
这个时候,一定要在自定义规则之后加上else{callback()}
否则,callback不能进行回调。导致validate()无法执行。