element-ui 异步验证表单

2018-02-06  本文已影响0人  Aklan
data() {
  let serialno = (rule, value, callback) => {
        if (!value) return callback(new Error('序列号不能为空'))
        if (value.length > 50) return callback(new Error('序列号最多50个字符'))
        this.checkSerialno(value, callback)
        // 在此处将callback传到验证方法中
      }
  return {
    rules: {
      serialno: { validator: serialno, trigger: 'blur, change' }
    }
  }
}
methods: {
  // 序列号重复校验
    checkSerialno(serialno, callback) {  // 此方法不能用async,原因未知
        fetchCheckSerialno({ serialno }).then(res => {
          if (!res.flag) return callback(new Error('序列号验证失败'))
          if (!res.data) return callback(new Error('序列号重复'))
          callback()
        })
      }
}
上一篇下一篇

猜你喜欢

热点阅读