Cerberus的严格模式验证

时间:2017-11-28 18:13:36

标签: python validation cerberus

我正在使用Cerberus 1.1版。

Cerberus required验证规则默认显示为False,结果是空文档完全有效。

>>> schema = {
    'spam': {'type': 'string'}
}

>>> v = Validator()
>>> v.validate({}, schema)
True

但我有一个非常冗长的架构文档,需要严格执行。有没有办法在整个模式中默认为'required': True,这样每个定义的字段都是必需的?

就目前而言,我似乎必须将'required': True粘贴到每个字段定义中,这似乎是不必要的冗余。

1 个答案:

答案 0 :(得分:1)

当然,您可以使用简单的Python惯用语来设计架构:

schema = {
    'spam': {'type': 'string'},
    …
}
for field in schema:
    schema[field].update({'required': True})