我有一个词典列表,我想验证列表中至少一个词典是否包含某些值。
我尝试了如图所示的“包含”以及“项目”规则,但是cerberus抱怨dict是无法散列的类型。
my_schema = """{ "alist": {
"type": "list",
"contains": { "x":"mustHave" },
"schema": {
"type": "dict",
"schema": {
"x": { "type": "string" },
"y": { "type": "string" }
}
}
}
}"""
data = { 'alist': [{'x':'mustHave', 'y':'this'},
{'x':'dontCare', 'y':'about that'}
]
}
schema = ast.literal_eval(my_schema)
v = cerberus.Validator()
v.validate(data,schema)
我希望对此进行验证,并且在删除{'x':'mustHave','y':'this'}字典时,验证应该会失败。