代码之家  ›  专栏  ›  技术社区  ›  aronchick

cerberus中的重载验证

  •  0
  • aronchick  · 技术社区  · 4 年前

    我想在我的自定义验证器类中重载validate,这样如果客户机只给我文本,我可以将其转换为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)
    

    0 回复  |  直到 4 年前
        1
  •  1
  •   funky-future euri10    4 年前

    您并没有重载任何内容,而是添加了一个额外的方法,根据约定将其标记为私有。