async-validator 异步请求验证使用
异步请求验证参考github 项目:async-validator// PROMISE USAGEvalidator.validate({name: "muji",asyncValidator: (rule, value) => axios.post('/nameValidator', { name: value }),}, (errors, fields) => ...
·
异步请求验证
Attention: asyncValidator 是1.11.0 才支持的,而我下文的结论源于我自己使用了1.8.0 的版本,故而失败,请知悉!!
参考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);
})
};
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)