Я прочитал проблемы здесь и здесь с использованием правил ключей и значений, но я только видел, как они проверяют вложенные, а не root. Я хотел бы подтвердить ключи верхнего уровня root dict.
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)
В этом примере я хотел бы просто проверить, что схема является dict str: Dict[str, int]
, где ключи могут быть любыми произвольными строка.
Я не уверен, что использую его правильно docs , это не удается с cerberus.schema.SchemaError: {'any_arbitrary_str': [{'keysrules': ['unknown rule'], 'valuesrules': ['unknown rule']}]}
, но он все еще ищет any_arbitrary_str
вместо любой строки.