我阅读过问题这里和这里使用键规则和值规则,但我只看到它们验证嵌套,而不是根。我想要有效的顶级根切分键。
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而不是任何字符串。
发布于 2022-05-20 21:24:11
你可以把它筑巢。不漂亮,但很管用。我还没有找到一个更优雅的解决方案。
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)https://stackoverflow.com/questions/63223215
复制相似问题