在 cerberus 中重载验证
Overloading validate in cerberus
我想在我的自定义验证器 class 中重载验证,这样如果客户端只给我文本,我可以将其转换为 yaml 进行验证。
我试过以下方法:
import cerberus
from cerberus import Validator
from ruamel.yaml import YAML
class SchemaValidator(Validator):
def _validate(self, schema_to_check_in_text, schema_from_catalog_in_yaml):
ruamel_yaml = YAML()
parsed_proposed_yaml = ruamel_yaml.load(schema_to_check_in_text)
self.validate(parsed_proposed_yaml, schema_from_catalog_in_yaml)
但是没用。这可能吗?
您没有重载任何内容,而是添加了一个您根据约定标记为私有的额外方法。
我想在我的自定义验证器 class 中重载验证,这样如果客户端只给我文本,我可以将其转换为 yaml 进行验证。
我试过以下方法:
import cerberus
from cerberus import Validator
from ruamel.yaml import YAML
class SchemaValidator(Validator):
def _validate(self, schema_to_check_in_text, schema_from_catalog_in_yaml):
ruamel_yaml = YAML()
parsed_proposed_yaml = ruamel_yaml.load(schema_to_check_in_text)
self.validate(parsed_proposed_yaml, schema_from_catalog_in_yaml)
但是没用。这可能吗?
您没有重载任何内容,而是添加了一个您根据约定标记为私有的额外方法。