如何使用 cerberus 禁止 json 值中的某些单词
How to prohibit certain words in a json value with cerberus
假设我有这个 json:
{"name": "John"}
我想限制 json 包含子字符串“my name is”,所以如果我收到:
{"name": "my name is John"}
Cerberus 会告诉我 json 不正确,我可以显示正确的输出,到目前为止我已经尝试了 "forbidden"
字段但它不起作用,因为 forbidden 只采用确切的短语,这就是我到目前为止的 cerberus 验证方式:
{
"name":{
"type": "string",
"minlength":1,
"forbidden":["my name is"],
}
}
谢谢!
看起来你会想要使用 check_with 和一个简单的函数来禁止你想要排除的内容,例如
def cleanName(field, value, error):
if 'my name is' in value:
error(field, 'error message')
假设我有这个 json:
{"name": "John"}
我想限制 json 包含子字符串“my name is”,所以如果我收到:
{"name": "my name is John"}
Cerberus 会告诉我 json 不正确,我可以显示正确的输出,到目前为止我已经尝试了 "forbidden"
字段但它不起作用,因为 forbidden 只采用确切的短语,这就是我到目前为止的 cerberus 验证方式:
{
"name":{
"type": "string",
"minlength":1,
"forbidden":["my name is"],
}
}
谢谢!
看起来你会想要使用 check_with 和一个简单的函数来禁止你想要排除的内容,例如
def cleanName(field, value, error):
if 'my name is' in value:
error(field, 'error message')