Python 3.x Python Cerberus通过比较两个字段进行自定义验证

Python 3.x Python Cerberus通过比较两个字段进行自定义验证,python-3.x,cerberus,Python 3.x,Cerberus,我有一个这样的模式 s = { "Field_1": { "type": "string", "required": True, "allowed": ["val_1", "val_2"], }, "Field_2": { "type&quo

我有一个这样的模式

s = {
    "Field_1": {
        "type": "string",
        "required": True,
        "allowed": ["val_1", "val_2"],
    },
    "Field_2": {
        "type": "dict",
        "required": True,
        "schema": {
            "from_dt": {"type": "date", "required": True, },
            "upto_dt": {"type": "date", "required": True, },
        },
    },
}
class CustomValidator(cerberus.Validator):
    types_mapping = cerberus.Validator.types_mapping.copy()
    types_mapping["date"] = date_type
我使用一个自定义验证器来验证这样的日期类型

s = {
    "Field_1": {
        "type": "string",
        "required": True,
        "allowed": ["val_1", "val_2"],
    },
    "Field_2": {
        "type": "dict",
        "required": True,
        "schema": {
            "from_dt": {"type": "date", "required": True, },
            "upto_dt": {"type": "date", "required": True, },
        },
    },
}
class CustomValidator(cerberus.Validator):
    types_mapping = cerberus.Validator.types_mapping.copy()
    types_mapping["date"] = date_type
我想通过cerberus向模式验证添加一个附加检查。我想确保字段2中的from_dt值小于字段2中的upto_dt值


如何在Python3中的Cerberus中执行此操作?

您可以实现自定义规则或使用check\u with规则。这两个都在文档中描述。