问题标签 [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.
python - 如何使用 Cerberus 验证映射字段是否至少包含一项?
我正在使用 Cerberus 验证大致如下所示的文档:
并非子文档中的所有字段都需要存在,但应该存在。到目前为止,我的架构如下所示:
我怎样才能强制提供至少其中一个fieldX
?
这个问题源于这个问题。
python - 如何从 Cerberus 验证失败的文档中删除字段?
我正在使用开源 Python 数据验证库Cerberus来验证字典的结构。我希望它获取部分无效的文档并在没有无效键的情况下输出它。
例如,对于这个脚本:
这返回None
是因为验证失败。
有没有办法获取只有经过验证的字段的文档,如下所示:
python - Cerberus 的严格模式验证
我正在使用 Cerberus 1.1 版。
Cerberusrequired
验证规则似乎默认为False
,结果是空文档完全有效。
但是我有一个非常冗长的架构文档,需要严格执行。有没有办法默认'required': True
整个架构,这样每个定义的字段都是必需的?
就目前而言,我似乎必须粘贴'required': True
到每个字段定义中,这似乎是不必要的多余。
python - 如何自定义 Cerberus 的错误消息?
我想本地化 Cerberus 返回的错误消息,例如我想实现以下目标:
python - 如何根据 Cerberus 另一个字段的长度来验证一个字段?
有没有办法验证一个字段的存在取决于另一个字段的长度的文档?我的尝试:
输出:
预期输出是True
validation - Python Eve:文档级验证
我们已经使用了相当多的字段级验证,它很棒而且功能强大。但是,有时文档本身只有在评估多个领域时才有效。更改涉及的任何字段都必须触发验证。
我们现在所做的是将验证应用于所涉及的每个字段 - 它在 POST 上多次运行验证。
有没有办法将验证规则应用于文档本身?
例如,假设 some_thing 有两个字段,并且验证会考虑这两个字段。如果其中任何一个发生变化,我们必须针对另一个进行验证。
这有效...
验证器(为清楚起见进行了简化):
然后是架构定义:
但我们想做这样的事情:
验证者
然后是架构定义:
这可能吗?
python - 如何制作 cerberus 所需的规则取决于条件
我有一个很大的 json 文档,如果其他字段具有精确值,则应该需要一些字段。例如
如果 is_realty_address == False,则必须提供邮政编码。所有规则(“必需”除外)都应用于文档中存在的字段,所以我的自定义规则是静默的,当我有
of-rules 在我的情况下无济于事,因为我有很多“条件要求”字段,这些字段取决于许多不同的字段。因此,规则将使我的模式变得非常复杂。依赖项也不起作用。我试过了:
如果邮政编码没有出现在文档中,这将返回错误,无论 is_realty_address 是什么值
此代码返回:
我也尝试实现验证方法:
带架构
但如果文档中没有“邮政编码”,则此规则不会运行。
有没有办法设置“条件要求”规则?我想看看这段代码:
返回:
python - 如何验证 cerberus 中的嵌套对象?
我有以下架构:
当我运行验证时:
我收到一个错误:
我也尝试指定类型:
python - 如何在架构中将“排除”与“默认”结合起来?
field_1
默认情况下必须为 0,但不允许使用field_2
. 我的尝试:
我有:
我想用标准化结果验证第二个文档没有错误{'value_1': 0, 'value_2': 1}
。我怎样才能达到预期的效果?
编辑对我的目标的更清晰的解释: -如果传入文档中存在并且
我想引发错误,但如果文档中不存在此键,则设置为。
- 我想在 cerberus 验证/规范化过程中进行,并希望通过更改验证模式或验证器来解决它value_1
value_2
0
value_1
python - 在 Cerberus 中检查根密钥
我有一个看起来像这样的数据结构,它name
是一个不能是某些值的任意字符串(src
)
我希望 cerberus 检查键是否不是src
or alsoBad
,但我看到的所有模式示例似乎都要求我指定给定名称的格式。
我试过这个:
认为空模式会导致allow_unknown
工作。但这并没有发现问题。
然后我尝试了:
但这也未能抓住问题。
当它们可能是任何东西时,如何检查字典中的第一级键?