Source code for watson.form.validators

# -*- coding: utf-8 -*-
from watson.validators import abc


[docs]class SuppliedValues(abc.Validator): """Validate that a value exists in the list of supplied values. Example: .. code-block:: python validator = Length(1, 10) validator('Test') # True validator('Testing maximum') # raises ValueError """ message = None
[docs] def __init__(self, message='"{value}" is not a valid option.'): self.message = message
def __call__(self, value, **kwargs): iterable = (tuple, list) if not isinstance(value, iterable): value = [value] if not set(value).issubset(set(kwargs['field'].actual_values)): value = ', '.join(str(v) for v in value) if isinstance(value, iterable) else value raise ValueError(self.message.format(value=value)) return True