问题标签 [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 回答
665 浏览

python - 嵌套列表中的 Cerberus 强制

我得到以下代码的意外行为:

我希望没有错误,因为强制应该处理类型。但我越来越

这是一个错误吗?我是否误解了强制的工作原理?

0 投票
1 回答
265 浏览

python - 如果字段存在,则对规则进行两种不同的验证

我需要解析很多 yml 文件。我有类似示例的内容,在某些情况下存在一个值,因此我需要更改另一个规则的正则表达式。我找不到正确验证它的方法

yaml1:

yaml2:

架构:

0 投票
1 回答
260 浏览

python - 尝试在 cerberus 中进行递归模式验证时出现 TypeError

我正在尝试使用 cerberus 构建递归模式,但似乎错过了它应该如何工作的重点。有人可以帮我吗?

在 repo 中的文档和旧问题中,解释了处理递归的方法是使用模式注册表来创建自引用模式,否则我们会达到递归深度限制。

但是,尝试一些非常基本的东西会导致 TypeError。

请在文档中获得模式递归示例会很棒!一旦我了解发生了什么,我很乐意帮助提交一份。

运行上述导致以下未处理的异常:

非常感谢您的帮助!

0 投票
1 回答
814 浏览

python - Cerberus - 仅当满足依赖性时才需要字段

考虑以下架构

我希望当字段的值为or时才units需要该字段。value_typefloatinteger

这是我想要实现的行为

上述 Schema 仅返回前 3 种情况的预期结果。

如果我将units(通过省略"required": True)的定义更改为

然后验证

返回True这不是我想要的。

我查看了文档oneof中的规则,但找不到仅将其应用于属性的方法。required

我希望 required 的值True仅在满足依赖项时才存在。

我应该如何修改我的架构来实现这一点?

0 投票
1 回答
492 浏览

python-3.x - 将 UUID 类型添加到 Cerberus 会导致 BAD_TYPE 错误

我正在尝试将自定义数据类型添加到Cerberus。UUID 类按预期工作(它是一个标准库类),但我无法使用 Cerberus 验证 UUID 类型。

其次,我无法在一个__init__函数中注册多种类型,但这可能应该是它自己的问题。

这是我应该注册给定类型的自定义验证器。

这是我对此代码的单元测试。

如果我们只是给 UUID 类一个有效的 UUID,它会成功,但如果我们尝试通过 Cerberus 验证它,我们会收到BAD_TYPE验证错误。

编辑 1

简化的示例代码

同样的失败

0 投票
2 回答
324 浏览

python - 地狱犬:禁止现场存在

我想使用 Cerberus 来验证对象中存在字段。

我想使用类似的东西:

基本上,我永远不会接受forbidden_field. 现在我接受更改我的验证器:

这基本上可以解决仅使用“允许”字段设置架构的技巧,但我真的不喜欢它的功能,因为这禁止我接受其他字段,而不仅仅是forbidden_field.

我也看到了allowedforbidden验证规则,但是它们检查的是字段的值,而不是字段的存在。

那么,我怎么能告诉我的验证器只禁止 Cerberus 的特定字段存在呢?

0 投票
2 回答
526 浏览

python - 如何检查 Cerberus 中的参照完整性?

考虑以下 Cerberus 模式:

1) 如何验证 ceo-employee-id 是否与员工列表中的 id 值之一匹配?(参照完整性)

2) 如何验证员工列表中的每个 ID 都是唯一的(即没有重复的员工 ID)?

我意识到我可以在验证和解析下面@rafael 建议的配置后在运行时执行此操作。我想知道我是否可以使用 Cerberus 验证功能来做到这一点。

0 投票
1 回答
792 浏览

cerberus - 嵌套列表级别的 Python Cerberus 依赖项

是否Cerberus 1.2支持列表上的依赖项验证?

例如,架构如下所示:

我想检查的规则是只有在为真my_field时才应该存在。simple_field我将如何翻译Cerberus

0 投票
1 回答
986 浏览

python - Python Cerberus:使用“anyof_schema”规则验证不同模式的问题

我正在尝试使用 Cerberus 使用本文anyof_schema中提出的规则来验证包含字符串或字典的列表:

但验证失败,输出:

似乎该anyof_schema规则仅在提供的集合中的所有模式都描述相同的数据类型(例如字典)时才有效。

为什么anyof_schema规则在我的情况下失败,我该如何解决这个问题?

我正在使用 Python 3.5.3 和 Cerberus 1.3.1

0 投票
2 回答
694 浏览

json - 使用 cerberus 深度嵌套的 json 验证器

我有一个深度嵌套的 json,我正在尝试用 cerberus 进行验证。所以,我有以下结构:(注意:假设更深的巢)

我为第一级创建了架构,但我不知道如何深入 json。我无法手动编写深度模式,因为我不知道 json 会下降多少级。据我了解,cerberus 可以处理嵌套的 json,但我找不到针对这种确切情况的任何代码参考。知道如何实现吗?