問題タブ [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.

0 投票する
1 に答える
1261 参照

mongodb - パイソンイブ。Cerberus スキーマでオブジェクト ID の配列を宣言する

私は Python-Eve で API を開発しています。以下のようなドキュメントを表現するために、Cerberus を使用して MongoDB スキーマ宣言を作成する必要があります。

ObjectID上記のdevicesキーのように、Cerberus スキーマが の配列を持つように宣言する方法を知りたいです。

他のドキュメントへの参照の配列のスキーマが必要であり、Python-Eve のドキュメントから取得した以下の単一要素スキーマの例のように、それらを埋め込み可能にしたいと考えています。

これにはカスタムタイプが必要になると思いますが、その方法はまだわかりません。

0 投票する
1 に答える
245 参照

python - eve スキーマ定義に一意の複合制約を作成できますか?

Eve のスキーマ定義ドキュメントeve示されているように、ドキュメントの 2 つ以上のフィールド間で、一意の制約をスキーマ定義に作成できるかどうかを知りたいです。

Unique Compound IndexをAPI レベルmongodbで直接作成するのと同じ動作が必要です。eve

0 投票する
1 に答える
2209 参照

python - Cerberus では、「dict」のタイプで「valueschema」を使用できますか?

そのため、スキーマの検証にCerberusを使用していますが、キーが不明な辞書のサブディクショナリを検証する際に特定の問題に遭遇しています。

たとえば、次のドキュメントがあるとします。

fooしたがって、サブディクショナリが特定の構造 (およびキーとして) を持っていることを検証したいのですが、事前barにキーを知らずにこれを検証する方法がわかりません (私の場合はランダム ID です。これはvalueschema の適切な使用方法ですが、valueschema を 'dict' 型の何かで動作させることができないようです. ケルベロスで次のスキーマを設定しようとしました:

スキーマの定義が間違っているのでしょうか、それとも の現在の実装では不可能valueschemaですか? を使用するリポジトリでいくつかのテストを見ましたが、それらは の型が int または stringvalueschemaである場所のみをテストしていました。valueschema

0 投票する
1 に答える
1409 参照

python - 自己値に依存する Cerberus スキーマ検証の依存関係

Cerberus documentationによると、次のような他のキー値に従って、検証の依存関係を定義できることを知っています。

whereが存在し、値がorのfield2場合にのみ有効です。field1onetwo

キー自体の値に応じて考慮される検証ルールを持つ方法があるかどうかを知りたいです。

次のようなもの:値が の場合にのみ値がfield2必要であり、その逆も同様です。field1Falsefield2True

一度に使用できるフィールドは 1 つだけTrueです。

0 投票する
1 に答える
2078 参照

python - Cerberus カスタム ルールとカスタム バリデーターの違いは何ですか?

ドキュメントから、カスタム ルールとカスタム バリデーターの使用例の違いが明確ではありません。ドキュメントに記載されている例では、唯一の違いは、カスタム ルールの値をチェックする追加のifステートメントです。is_oddどのような場合にカスタム ルールを使用し、いつカスタム バリデーターを使用する必要がありますか?


カスタム ルール


カスタムバリデーター

0 投票する
2 に答える
312 参照

python - Cerberus スキーマにコメントを追加するには?

私は python-eve を使用しており、スキーマ ファイル (.json) にコメントを追加したいと考えています。だから今まで私はさまざまなコメントスタイルを試してきました:

すべてエラーが発生します:

0 投票する
1 に答える
631 参照

python - Cerberus の依存関係は、ドキュメントの上位にあるフィールドをどのように参照できますか?

ドキュメントの上位のフィールドを参照する依存関係を持つドキュメントのスキーマを作成しようとしています。例えば:

ここで苦労しているのは、build-steps.needs-some-package と packages.some-package の間の依存関係を強化することです。ビルドステップに「needs-some-package」が含まれる場合は常に、パッケージに「some-package」が含まれている必要があります。

「needs-some-package」が存在しない場合、「some-package」は不要です。したがって、このドキュメントも検証する必要があります。

適切な場所のように見える依存関係を持つスキーマは

しかし、Cerberus が「build-steps」の下のサブドキュメント内で「パッケージ」を探しているように見えるため、これは機能しません。ドキュメント ツリーを上に移動する方法はありますか? または、ドキュメントのルートに関して何かを参照するには?