gpt4 book ai didi

validation - 在 cerberus 中默认设置为 True

转载 作者:行者123 更新时间:2023-12-01 13:31:01 28 4
gpt4 key购买 nike

有没有办法告诉 cerberus 将模式中的所有键的 required 默认设置为 True?这会节省我一些时间,因为大多数时候我想断言 key 的存在。

最佳答案

我认为这个问题没有通用的解决方案,不同的方法适用于不同的整体场景。让我提出两个建议:

扩展模式

这很简单,只需在使用前将 required 规则添加到模式的所有字段即可:

for field in schema:
field['required'] = True

自定义验证器

由于 Validator 类有一个方法可以根据此规则检查所有字段,因此可以在子类中覆盖它:

from cerberus import errors, Validator


class MyValidator(Validator):
def __validate_required_fields(self, document):
for field in self.schema:
if field not in document:
self._error(field, errors.REQUIRED_FIELD)

请注意,此提案并未将 excludes 规则视为原始实现。

但是,由于这是非公开方法的一部分,底层设计可能会在未来未经通知地更改。

关于validation - 在 cerberus 中默认设置为 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935812/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com