Marshmallow 中字段验证的自定义错误消息问题
Problem with custom error messages for field validation in Marshmallow
我正在尝试为 Marshamallow 架构中的 class 字段添加自定义错误消息。字段表示如下所示:
phone_number = fields.String(validate=Length(max=20),
error_messages={'invalid': 'Phone number must be a string shorter than'
'20 letters.'})
我原以为在将请求数据加载到模式后,我会收到错误消息“Phone 数字必须是一个短于 20 个字母的字符串。”但是,我仍然收到默认值消息“长于最大长度 20。”。加载请求数据的代码为:
try:
request_data = EditInvestorSchema().load(request.json)
except ValidationError as error:
return get_response(400, list(error.messages.values())[0])
任何人都可以阐明可能发生的事情吗?
如果您在验证器中定义消息,它应该可以工作。
有关验证器的文档,请参阅 here。
phone_number = fields.String(
validate=Length(
max=20,
error='Phone number must be a string shorter than 20 letters.'
)
)
我正在尝试为 Marshamallow 架构中的 class 字段添加自定义错误消息。字段表示如下所示:
phone_number = fields.String(validate=Length(max=20),
error_messages={'invalid': 'Phone number must be a string shorter than'
'20 letters.'})
我原以为在将请求数据加载到模式后,我会收到错误消息“Phone 数字必须是一个短于 20 个字母的字符串。”但是,我仍然收到默认值消息“长于最大长度 20。”。加载请求数据的代码为:
try:
request_data = EditInvestorSchema().load(request.json)
except ValidationError as error:
return get_response(400, list(error.messages.values())[0])
任何人都可以阐明可能发生的事情吗?
如果您在验证器中定义消息,它应该可以工作。 有关验证器的文档,请参阅 here。
phone_number = fields.String(
validate=Length(
max=20,
error='Phone number must be a string shorter than 20 letters.'
)
)