Python cerberus有一个称为meta的验证规则,其中我将一个字典指定给元规则。我应该如何访问它?我正在使用this编写自定义error_handler来自定义错误消息。
我的目标是output = [(x, y) for x in x_coords for y in y_coords]
并想在我的错误消息中使用标签。
任何帮助将不胜感激。
答案 0 :(得分:2)
回答我自己的问题。
我创建了一个自定义的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))
希望它将对将来的用户有所帮助。