首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cerberus -如何验证任意的切分键?

cerberus -如何验证任意的切分键?
EN

Stack Overflow用户
提问于 2020-08-03 03:12:23
回答 1查看 655关注 0票数 2

我阅读过问题这里这里使用键规则和值规则,但我只看到它们验证嵌套,而不是根。我想要有效的顶级根切分键。

代码语言:javascript
复制
schema = {
    'any_arbitrary_str': {
        'type': 'dict',
        'keysrules': {'type': 'string'},
        'valuesrules': {'type': 'integer'},
    },
}

v = Validator(schema)
v.validate({'test': {'a': 1, 'b': 2}})
print(v.errors)

在本例中,我只想验证模式是否为str: Dict[str, int],其中键可以是任意字符串。

我不确定我是否正确地使用了文档,这在cerberus.schema.SchemaError: {'any_arbitrary_str': [{'keysrules': ['unknown rule'], 'valuesrules': ['unknown rule']}]}中失败了,但是它仍然在寻找any_arbitrary_str而不是任何字符串。

EN

回答 1

Stack Overflow用户

发布于 2022-05-20 21:24:11

你可以把它筑巢。不漂亮,但很管用。我还没有找到一个更优雅的解决方案。

代码语言:javascript
复制
schema = {
    'document': {
        'type': 'dict',
        'keysrules': {'type': 'string'},
        'valuesrules': {
            'type': 'dict',
            'keysrules': {'type': 'string'},
            'valuesrules': {'type': 'integer'},
        },
    },
}

v = Validator(schema)
document_to_test = {'test': {'a': 1, 'b': 2}}

v.validate({'document': document_to_test})
print(v.errors)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63223215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档