Source code for marshmallow_validators.colander

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

from .core import ValidationError, BaseConverter

from colander import Invalid

[docs]class from_colander(BaseConverter): """Convert a colander validator to a marshmallow validator. Example:: from marshmallow import fields from marshmallow_validators.colander import from_colander from colander import Length password = fields.Str( validate=from_colander([Length(min=8, max=100)]) ) :param list validators: Colander validators. """
[docs] def make_validator(self, colander_validator): def marshmallow_validator(value): try: colander_validator(None, value) except Invalid as err: raise ValidationError(err.msg.interpolate()) return marshmallow_validator