npm地址 async-validator - npm (npmjs.com)
流程:
规则(rules) + 值(values) , 在特殊的时机(比如onBlur), 调用特殊的逻辑去验证最终的结果
import Schema from 'async-vlidator'
const descriptor = {
name: {
//非常多预设的type
//https://github.com/yiminghe/async-validator#type
}
}
const validator = new Schema(descriptor)
//两种验证方式, 第一种回调
validator.validate({name: 'muji'}, (errors, fields) => {
if(errors) {
//errors 的具体信息, fields是具体字段
return handleErrors(errors, fields)
}
//如果没有errors, 那么就是通过了 validation passed
});
//第二种是Promise类型
validator.validate({name: 'muji', age: 16}).then(() => {
// validation passed or without error message
}).catch(({errors, fields}) => {
return handleErrors(errors, fields);
});