element-ui表单自定义规则导致-validate不能执行。

 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()无法执行。

猜你喜欢

转载自www.cnblogs.com/hjdjs/p/element.html