問題タブ [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 投票する
2 に答える
837 参照

python - Python: ケルベロス check_with 関数

dict値が次のルールに従っているを検証したいと思います。

  • 値は、単一floatまたはList(float)
  • 単一floatの場合、値は 1 でなければなりません
  • の場合List(float)、各フロートは正でなければなりません

これが私のコードといくつかのテストアサーションで、正しく機能しています:

ここで、もう 1 つの条件を実装する必要があります。

  • の場合、 のList(float)sum1 にfloat等しくなければなりません

したがって、check_withドキュメント ( https://docs.python-cerberus.org/en/stable/validation-rules.html ) に記載されている関数を作成しました。

調整されたスキーマとテスト ドキュメントは次のようになります。

これで、値が である場合は常に、List(float)の最初の要素のみがlist関数に注入され、TypeError: 'float' object is not iterable.
を検証するとdocument4fieldと にint=0なりvalue=0.5ます。したがって、エラーメッセージは理にかなっています。

リスト全体が関数に渡されないのはなぜですか? ここで何が欠けていますか?

0 投票する
3 に答える
866 参照

python-3.x - Cerberus、Pythonで条件付き検証を設定することは可能ですか?

Python パッケージcerberusを使用してペイロードを検証します。これが私の問題です。

別のスキーマのフィールドに正確な値がある場合にのみ、フィールドを必須に設定する必要があります。何かのようなもの:

したがって、私のスキーマは次のようになります。

誰かがそれを達成する方法を知っていますか? ありがとうございました

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

python - キーが見つからない場合、ceberus で警告を出すにはどうすればよいですか?

Cerberus では必須フィールドを使用できますが、欠落している場合に警告メッセージがログに記録されるように、「優先」クラスのフィールドが必要です。私が持っている、素晴らしいとは思えないいくつかのアイデアは次のとおりです。

  1. カスタム ruleを使用してバリデーターを拡張することもできますが、これらはfieldおよびvalue引数で呼び出されるため、欠落しているフィールドでこの関数が呼び出されるのではないかと疑っています。不足しているフィールドを生成するためにドキュメントで呼び出される__validate_required_fieldsの方が理想的ですが、それをフックする方法がわかりません。

  2. Cerberus はcheck_withオプションを提供していますが、欠落しているフィールドに対してこれが呼び出されるかどうかはわかりません。

  3. これらを必須としてマークし、エラー ハンドラでトレースを実行することができます。「優先」フィールドが欠落している場合に検証が失敗しないため、これは理想的ではありません。

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

python - Cerberus 1.3.2 の問題を除外

最近、Cerberus のバージョンを 1.1 から 1.3.2 にアップグレードしました。しかし、検証エラーが発生します。検証スキーマを見つけてください。

Cerberus バージョン 1.3.2 の場合、エラーが発生する

Cerberus バージョン 1.3.2 の場合、エラーが発生する

Cerberus バージョン 1.1 では、検証は正しく機能しています。

ここに画像の説明を入力

助けが見つかることを願っています。

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

python - Cerberus one of two キー

入力ルートの 1 つを検証するために使用している一連のスキーマがあります。

email_addressしかし、どちらかまたはどちらかmobile_numberが必須であり、両方ではないことを定義する必要があります。これらの 2 つのキーの 1 つだけを要求するにはどうすればよいですか?