问题标签 [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.

0 投票
1 回答
248 浏览

python - 如何使用 Cerberus 验证映射字段是否至少包含一项?

我正在使用 Cerberus 验证大致如下所示的文档:

并非子文档中的所有字段都需要存在,但应该存在。到目前为止,我的架构如下所示:

我怎样才能强制提供至少其中一个fieldX

这个问题源于这个问题。

0 投票
3 回答
990 浏览

python - 如何从 Cerberus 验证失败的文档中删除字段?

我正在使用开源 Python 数据验证库Cerberus来验证字典的结构。我希望它获取部分无效的文档并在没有无效键的情况下输出它。

例如,对于这个脚本:

这返回None是因为验证失败。

有没有办法获取只有经过验证的字段的文档,如下所示:

0 投票
1 回答
322 浏览

python - Cerberus 的严格模式验证

我正在使用 Cerberus 1.1 版。

Cerberusrequired验证规则似乎默认为False,结果是空文档完全有效。

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

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

0 投票
1 回答
3352 浏览

python - 如何自定义 Cerberus 的错误消息?

我想本地化 Cerberus 返回的错误消息,例如我想实现以下目标:

0 投票
2 回答
760 浏览

python - 如何根据 Cerberus 另一个字段的长度来验证一个字段?

有没有办法验证一个字段的存在取决于另一个字段的长度的文档?我的尝试:

输出:

预期输出是True

0 投票
1 回答
273 浏览

validation - Python Eve:文档级验证

我们已经使用了相当多的字段级验证,它很棒而且功能强大。但是,有时文档本身只有在评估多个领域时才有效。更改涉及的任何字段都必须触发验证。

我们现在所做的是将验证应用于所涉及的每个字段 - 它在 POST 上多次运行验证。

有没有办法将验证规则应用于文档本身?

例如,假设 some_thing 有两个字段,并且验证会考虑这两个字段。如果其中任何一个发生变化,我们必须针对另一个进行验证。

这有效...

验证器(为清楚起见进行了简化):

然后是架构定义:

但我们想做这样的事情:

验证者

然后是架构定义:

这可能吗?

0 投票
1 回答
3402 浏览

python - 如何制作 cerberus 所需的规则取决于条件

我有一个很大的 json 文档,如果其他字段具有精确值,则应该需要一些字段。例如

如果 is_realty_address == False,则必须提供邮政编码。所有规则(“必需”除外)都应用于文档中存在的字段,所以我的自定义规则是静默的,当我有

of-rules 在我的情况下无济于事,因为我有很多“条件要求”字段,这些字段取决于许多不同的字段。因此,规则将使我的模式变得非常复杂。依赖项也不起作用。我试过了:

如果邮政编码没有出现在文档中,这将返回错误,无论 is_realty_address 是什么值

此代码返回:

我也尝试实现验证方法:

带架构

但如果文档中没有“邮政编码”,则此规则不会运行。

有没有办法设置“条件要求”规则?我想看看这段代码:

返回:

0 投票
1 回答
5168 浏览

python - 如何验证 cerberus 中的嵌套对象?

我有以下架构:

当我运行验证时:

我收到一个错误:

我也尝试指定类型:

0 投票
2 回答
437 浏览

python - 如何在架构中将“排除”与“默认”结合起来?

field_1默认情况下必须为 0,但不允许使用field_2. 我的尝试:

我有:

我想用标准化结果验证第二个文档没有错误{'value_1': 0, 'value_2': 1}。我怎样才能达到预期的效果?

编辑对我的目标的更清晰的解释: -如果传入文档中存在并且
我想引发错误,但如果文档中不存在此键,则设置为。 - 我想在 cerberus 验证/规范化过程中进行,并希望通过更改验证模式或验证器来解决它value_1value_20value_1

0 投票
1 回答
326 浏览

python - 在 Cerberus 中检查根密钥

我有一个看起来像这样的数据结构,它name是一个不能是某些值的任意字符串(src

我希望 cerberus 检查键是否不是srcor alsoBad,但我看到的所有模式示例似乎都要求我指定给定名称的格式。

我试过这个:

认为空模式会导致allow_unknown工作。但这并没有发现问题。

然后我尝试了:

但这也未能抓住问题。

当它们可能是任何东西时,如何检查字典中的第一级键?