0

Cerberusを使用して、ルールに渡されたいくつかのパラメーターに基づいてデータ (CSV データ) を検証するカスタム ルールを定義しました。私が尋ねた別の質問の回答からコピーした以下のルールの例を参照してください。

class MyValidator(Validator):
    def _validate_custom_parameter_rule(self, rule_parameters, field, value):
        """ Test if a field value is set depending on `col_name` field value.
        """
        # Validate based on the rule parameters
        ...



v = MyValidator()

document = {"col1": "a", "col2": ""}

schema = {
    "field1": {"required": False},
    "field2": {"required": True, 
             "custom_parameter_rule": {"x": 1}, 
             "custom_parameter_rule": {"y": 2}"
            },  # Note that `custom_parameter_rule` is repeated which won't work
}

上記のフィールド 2 などの 1 つのフィールドで、ルールを複数回使用できますが、パラメータは異なります。したがって、上記の例では、フィールド 1 はフィールド 2 に依存し、フィールド 1 はフィールド 3 に依存する可能性があります。つまり、このルールを 2 回パス/実行する必要があります。

問題は、ルールが一意である必要があることを意味するarules_setのみを取ることです。dict問題は、どうすれば同じルールを複数回パスできるかということです。

ドキュメントの状態に注意してください。A validation schema is a mapping, usually a dict.疑問に思っています。リストにすることができますか?はいの場合、ルールをリストとして渡すにはどうすればよいですか?

4

0 に答える 0