快速上手表单验证库async-validator

88 阅读1分钟

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);
 });