Python cerberus有一个名为meta的验证规则,我在其中将 dict 分配给 meta 规则。我应该如何访问它?我正在编写一个自定义 error_handler 使用它来自定义错误消息。
我的目标是schema = {'a': {'type': 'integer', 'meta': {'label': 'Age'}}}
并且希望在我的错误消息中使用该标签。
任何帮助,将不胜感激。
回答我自己的问题。
我创建了一个自定义 error_handler 来为我的错误消息添加标签。
from cerberus.errors import BasicErrorHandler
class CustomErrorHandler(BasicErrorHandler):
def __init__(self, schema):
self.custom_defined_schema = schema
def _format_message(self, field, error):
return self.custom_defined_schema[field].get('meta', {}).get('label', field) + ': ' + super(CustomErrorHandler, self)._format_message(field, error)
val = Validator(schema, error_handler=CustomErrorHandler(schema))
希望它能对未来的用户有所帮助。