如何使用AJV获取当前/编译的架构?

时间:2017-11-27 20:24:50

标签: javascript ajv

此问题与ajv有关。

如何验证架构?

e.g。

const validatePromise = ajv.compileAsync({...options.schema, $async: true});

validatePromise.then(validate => {
    validate(value).then(() => {
        // validation was successful
    }, errResult => {
        if(errResult instanceof Ajv.ValidationError) {
            // how to get the schema?
        }
    })
});

在您告诉我将{...options.schema, $async: true}放入变量之前,请记住远程模式可以是loaded - 我希望完全解析的模式具有其所有规则和属性。据推测,在计算errResult之前,所有子文件都已加载 - 因此它存储在何处以及如何访问它?

1 个答案:

答案 0 :(得分:2)

当前架构对象位于validate.schema中。 Ajv从不构建完全解析的模式,请参阅FAQ以获取评论。