Cerberus META 验证规则访问

Cerberus META validation rule access

Python cerberus has a validation rule called meta where I assign a dict to meta rule. How am i supposed to access it? I am writing a custom error_handler using this 自定义错误消息。

我的目标是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))

希望对以后的用户有所帮助。