問題タブ [ajv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Ajv: カスタム キーワードで $data 参照を活用するには?
プロジェクトでAjvを使用しています。ajv.addKeyword
APIを使用してカスタム キーワードを追加しようとしています。これを行うことでキーワードを追加できます(ドキュメントから借用):
すべてが正常に機能しています。ここ$data
で、カスタム フィールドの原因データを使用する必要があり、他のフィールドの値になります。それを達成するために、これは私が自分のスキーマで試したことです:
しかし、カスタム フィールドは$data
まだ ref でサポートされていないようです。ドキュメントに記載されているように、$data ref では次のフィールドのみがサポートされています。
$data 参照はキーワードでサポートされています: const、enum、format、maximum/minimum、exclusiveMaximum / ExclusiveMinimum、maxLength / minLength、maxItems / minItems、maxProperties / minProperties、formatMaximum / formatMinimum、formatExclusiveMaximum / formatExclusiveMinimum、multipleOf、pattern、required、uniqueItems .
値を取得する 1 つの方法は、validate 関数のパラメーターを使用し、data, dataPath, parentData, parentDataProperty
ロジックを記述して、$data
ref で定義されたフィールドの値を抽出することです。しかし、これがそれを達成するための正しい方法であるかどうかはわかりません。誰でもこれについて私を助けてもらえますか? これが再生するplunkrです。ありがとう。
javascript - JS Json スキーマ - AJV
私は AJV (JS JSON Schema Validator) を使用しており、それがサポートする型を拡張する方法を見つけようとしています。
スキーマにカスタムタイプがあるため、このエラーが発生します(Pythonで検証しているDocumentReference-jsonschemaも)
これはスキーマの小さなサンプルです。
python jsonschema には、型を拡張し、それらを検証する方法を定義する方法があります.AJVに同等のものはありますか?
javascript - JSON スキーマでプロパティを結合または拡張するにはどうすればよいですか?
アイテムの配列があり、アイテムがいくつかのプロパティを共有し、異なるプロパティも持っている場合。
- 共通のプロパティを異なるプロパティで拡張/パッチする方法はありますか?
$switch
オブジェクトのプロパティ内で使用できますか? 外部のルート レベルで使用されていることは知っていますが、プロパティ内で条件を実行する方法はありますか?
このような問題の解決策を見つけようとしていますが、これまでのところ何も達成できていないようです。