2

这个问题与ajv有关。

如何获得正在验证的架构?

例如

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}变量之前,请记住可以加载远程模式——我想要具有所有规则和属性的完全解析模式。大概所有的子模式都errResult可以计算之前加载 - 那么它存储在哪里以及如何访问它?

4

1 回答 1

3

当前模式对象在 validate.schema 中。Ajv 从不构建完全解析的模式,请参阅常见问题解答以获取评论。

于 2017-11-28T08:52:35.903 回答