2017-11-27 2 views
0

この質問はajvに関するものです。AJVで現在の/コンパイルされたスキーマを取得するには?

スキーマを検証する方法を教えてください。

あなただけの変数に{...options.schema, $async: true}を置くために私に言う前に

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

、リモートスキーマはloadedことができることを覚えておいてください - 私はそのルールとプロパティのすべてに完全に分解されたスキーマをしたいです。おそらく、サブシステムのすべてがerrResultの前にロードされている可能性があります - それはどこに格納され、どのように私はそれにアクセスしますか?

答えて

1

現在のスキーマオブジェクトは、validate.schemaにあります。 Ajvは完全に解決されたスキーマを構築しません。コメントはFAQを参照してください。

関連する問題