async-validator 异步请求验证使用

异步请求验证

参考github 项目:async-validator

// PROMISE USAGE
validator.validate({
  name: "muji",
  asyncValidator: (rule, value) => axios.post('/nameValidator', { name: value }),
}, (errors, fields) => {
  if(errors) {
    // validation failed, errors is an array of all errors
    // fields is an object keyed by field name with an array of
    // errors per field
    return handleErrors(errors, fields);
  }
  // validation passed
})
  .then(() => {
    // validation passed
  })
  .catch(({ errors, fields }) => {
    return handleErrors(errors, fields);
  })

如上readme 中一直说使用asyncValidator, 所以一直以为接收asyncValidator作为关键字,结果试了很久就是不行。其实还是使用validator关键字就行。具体使用如下就行…

使用定义

validatorFieldRule: [
{ required:true, validator: checkEmpty, trigger: “change”} ]

验证规则定义

var checkEmpty= (rule, value, callback) => {
axios.get(’/api/file’).then( res => {
callback();
})
.catch( err => {
callback(err);
})
};

你可能感兴趣的:(async-validator 异步请求验证使用)