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

python - Python Cerberus如何检查动态根键

我有一个以 ID 作为我要验证的根键的字典。换句话说,我要验证的字典的根键是动态的。有没有办法针对根密钥运行密钥模式?

例如https://repl.it/@crunk1/cerberusrootkeys

我知道我可以做到以下几点:

但我项目的当前结构并不容易做到这一点。

任何解决方案/提示/建议?

0 投票
1 回答
615 浏览

python - Cerberus 自定义规范化规则

有没有办法在 Cerberus 中创建自定义规范化规则?

我正在使用 Cerberus 在将 Protobuf 消息存储到 MongoDB 之前对其进行规范化。我的一个用例是将子消息展平为引用:

我的架构:

我的 'primarykey' 强制器需要第二种格式,以便它可以转换值。如果我事先不规范化,就不可能知道哪个键是引用,因为所有强制函数获取的都是值。

理想情况下,我会data_relation在调用强制器之前运行一个自定义规范化函数。例如_normalize_data_relation

编辑:

我不知道架构中的 data_relation 是否设置为field: idor field: random,因此我不知道如何规范化。

理想情况下,我想要的是类似于验证规则的东西,我也可以在其中获得模式的值:

0 投票
1 回答
600 浏览

validation - 如何在 Cerberus 中检查数字是否具有特定长度?

我正在用 Cerberus 编写书籍模式,但我偶然发现了一个障碍。我希望 ISBN 字段接受长度为 10 位或 13 位的数字/整数/数字。我该怎么做?我尝试使用maxlengthminlength但它们似乎不起作用。

0 投票
1 回答
3323 浏览

python - 如何在 Python Cerberus 中将字符串强制转换为日期时间?

我正在尝试将字符串强制为日期,以便它可以验证日期数据类型,但它仍然返回False

我尝试使用整数并且它有效。我不确定为什么日期转换不起作用:

任何帮助,将不胜感激。

0 投票
1 回答
859 浏览

validation - 在 Cerberus 中验证自定义类型

我真的很喜欢 Cerberus,但我无法在文档中找到一个简单的案例。我想要fudge一个带有~前缀的字符串类型。我根本不知道该怎么做..

这似乎是一个简单的案例..所以感觉我在做完全错误的事情。

0 投票
0 回答
45 浏览

validation - 在 Cerberus 验证期间禁用只读

我有一个架构,其中一些项目设置为“只读”。当管理员提供配置时,有没有办法可以绕过/覆盖此限制?

有没有比通过模式递归并在验证之前将所有“只读”设置为 False 更好的方法?

0 投票
1 回答
185 浏览

python - 字典验证 Cerberus 使用保留关键字

我有一个 python 字典,我正在尝试使用 cerberus 进行验证。但是,我的 dict 中的一个字段被调用,它与cerberus 解析器保留"type"的关键字冲突。"type"

有什么办法可以在不更改原始字典的情况下解决这个问题?

有问题的部分

0 投票
1 回答
1781 浏览

python - Python Cerberus: multipe schemas for a single filed?

I am trying to use Cerberus to validate some data but I run into a problem.

I defined several smaller schema such as:

And the higher level schema is like:

This obviously doesn't work.

I want to validate a list, the elements in which only need to be validated by one of (A, B, C). I don't know how to do that with Cerberus and am looking for some help.

Thanks.

0 投票
1 回答
248 浏览

python - 嵌套字典字段中的前夕 0.8 `allow_unknown`

我们使用 Eve 0.7 开发了一个用于allow_unknown嵌套 dict 字段的 API 。根据 cerberus 文档,该字段按预期工作。

我们现在升级到 Eve 0.8,我们的端点不再尊重allow_unknown嵌套字典中的参数。

例子

设置.py

应用程序.py

测试

  • 通过运行运行应用程序:$ python app.py
  • 使用 curl 测试端点:

经过

失败(希望这会通过)

0 投票
1 回答
750 浏览

validation - 在架构中允许未知键但经过验证的值

验证键未知但值具有明确模式的字典的最佳方法是什么。例如:

我试过了

但是随着验证通过,这已经失败了。它应该在缺失must_have_keyunknown_key. 我定义错了吗?