問題タブ [cerberus]
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.
mongodb - パイソンイブ。Cerberus スキーマでオブジェクト ID の配列を宣言する
私は Python-Eve で API を開発しています。以下のようなドキュメントを表現するために、Cerberus を使用して MongoDB スキーマ宣言を作成する必要があります。
ObjectID
上記のdevices
キーのように、Cerberus スキーマが の配列を持つように宣言する方法を知りたいです。
他のドキュメントへの参照の配列のスキーマが必要であり、Python-Eve のドキュメントから取得した以下の単一要素スキーマの例のように、それらを埋め込み可能にしたいと考えています。
これにはカスタムタイプが必要になると思いますが、その方法はまだわかりません。
python - eve スキーマ定義に一意の複合制約を作成できますか?
Eve のスキーマ定義ドキュメントにeve
示されているように、ドキュメントの 2 つ以上のフィールド間で、一意の制約をスキーマ定義に作成できるかどうかを知りたいです。
Unique Compound IndexをAPI レベルmongodb
で直接作成するのと同じ動作が必要です。eve
python - Cerberus では、「dict」のタイプで「valueschema」を使用できますか?
そのため、スキーマの検証にCerberusを使用していますが、キーが不明な辞書のサブディクショナリを検証する際に特定の問題に遭遇しています。
たとえば、次のドキュメントがあるとします。
foo
したがって、サブディクショナリが特定の構造 (およびキーとして) を持っていることを検証したいのですが、事前bar
にキーを知らずにこれを検証する方法がわかりません (私の場合はランダム ID です。これはvalueschema の適切な使用方法ですが、valueschema を 'dict' 型の何かで動作させることができないようです. ケルベロスで次のスキーマを設定しようとしました:
スキーマの定義が間違っているのでしょうか、それとも の現在の実装では不可能valueschema
ですか? を使用するリポジトリでいくつかのテストを見ましたが、それらは の型が int または stringvalueschema
である場所のみをテストしていました。valueschema
python - 自己値に依存する Cerberus スキーマ検証の依存関係
Cerberus documentationによると、次のような他のキー値に従って、検証の依存関係を定義できることを知っています。
whereが存在し、値がorのfield2
場合にのみ有効です。field1
one
two
キー自体の値に応じて考慮される検証ルールを持つ方法があるかどうかを知りたいです。
次のようなもの:値が の場合にのみ値がfield2
必要であり、その逆も同様です。field1
False
field2
True
一度に使用できるフィールドは 1 つだけTrue
です。
python - Cerberus カスタム ルールとカスタム バリデーターの違いは何ですか?
ドキュメントから、カスタム ルールとカスタム バリデーターの使用例の違いが明確ではありません。ドキュメントに記載されている例では、唯一の違いは、カスタム ルールの値をチェックする追加のif
ステートメントです。is_odd
どのような場合にカスタム ルールを使用し、いつカスタム バリデーターを使用する必要がありますか?
カスタム ルール
カスタムバリデーター
python - Cerberus スキーマにコメントを追加するには?
私は python-eve を使用しており、スキーマ ファイル (.json) にコメントを追加したいと考えています。だから今まで私はさまざまなコメントスタイルを試してきました:
すべてエラーが発生します:
python - Cerberus の依存関係は、ドキュメントの上位にあるフィールドをどのように参照できますか?
ドキュメントの上位のフィールドを参照する依存関係を持つドキュメントのスキーマを作成しようとしています。例えば:
ここで苦労しているのは、build-steps.needs-some-package と packages.some-package の間の依存関係を強化することです。ビルドステップに「needs-some-package」が含まれる場合は常に、パッケージに「some-package」が含まれている必要があります。
「needs-some-package」が存在しない場合、「some-package」は不要です。したがって、このドキュメントも検証する必要があります。
適切な場所のように見える依存関係を持つスキーマは
しかし、Cerberus が「build-steps」の下のサブドキュメント内で「パッケージ」を探しているように見えるため、これは機能しません。ドキュメント ツリーを上に移動する方法はありますか? または、ドキュメントのルートに関して何かを参照するには?