Validators¶
Validation classes for various types of data.
Classes:
|
Validator which fails if |
|
Validator which succeeds if |
|
Validate an email address. |
|
Validator which succeeds if the |
|
Validator which succeeds if the value passed to it has a length between a minimum and maximum. |
|
Validator which fails if |
|
Validator which succeeds if |
|
Call the specified |
|
Validator which succeeds if the value passed to it is within the specified range. |
|
Validator which succeeds if the |
|
Validate a URL. |
Base abstract class for validators. |
- class marshmallow.validate.ContainsNoneOf(iterable: Iterable, *, error: Optional[str] = None)[source]¶
Validator which fails if
valueis a sequence and any element in the sequence is a member of the sequence passed asiterable. Empty input is considered valid.New in version 3.6.0.
- class marshmallow.validate.ContainsOnly(choices: Iterable, labels: Optional[Iterable[str]] = None, *, error: Optional[str] = None)[source]¶
Validator which succeeds if
valueis a sequence and each element in the sequence is also in the sequence passed aschoices. Empty input is considered valid.- Parameters
Changed in version 3.0.0b2: Duplicate values are considered valid.
Changed in version 3.0.0b2: Empty input is considered valid. Use
validate.Length(min=1)to validate against empty inputs.
- class marshmallow.validate.Email(*, error: Optional[str] = None)[source]¶
Validate an email address.
- Parameters
error – Error message to raise in case of a validation error. Can be interpolated with
{input}.
- class marshmallow.validate.Equal(comparable, *, error: Optional[str] = None)[source]¶
Validator which succeeds if the
valuepassed to it is equal tocomparable.- Parameters
comparable – The object to compare to.
error – Error message to raise in case of a validation error. Can be interpolated with
{input}and{other}.
- class marshmallow.validate.Length(min: Optional[int] = None, max: Optional[int] = None, *, equal: Optional[int] = None, error: Optional[str] = None)[source]¶
Validator which succeeds if the value passed to it has a length between a minimum and maximum. Uses len(), so it can work for strings, lists, or anything with length.
- Parameters
min – The minimum length. If not provided, minimum length will not be checked.
max – The maximum length. If not provided, maximum length will not be checked.
equal – The exact length. If provided, maximum and minimum length will not be checked.
error – Error message to raise in case of a validation error. Can be interpolated with
{input},{min}and{max}.
- class marshmallow.validate.NoneOf(iterable: Iterable, *, error: Optional[str] = None)[source]¶
Validator which fails if
valueis a member ofiterable.- Parameters
iterable – A sequence of invalid values.
error – Error message to raise in case of a validation error. Can be interpolated using
{input}and{values}.
- class marshmallow.validate.OneOf(choices: Iterable, labels: Optional[Iterable[str]] = None, *, error: Optional[str] = None)[source]¶
Validator which succeeds if
valueis a member ofchoices.- Parameters
choices – A sequence of valid values.
labels – Optional sequence of labels to pair with the choices.
error – Error message to raise in case of a validation error. Can be interpolated with
{input},{choices}and{labels}.
Methods:
options([valuegetter])Return a generator over the (value, label) pairs, where value is a string associated with each choice.
- options(valuegetter: Union[str, Callable[Any, Any]] = <class 'str'>) Iterable[Tuple[Any, str]][source]¶
Return a generator over the (value, label) pairs, where value is a string associated with each choice. This convenience method is useful to populate, for instance, a form select field.
- Parameters
valuegetter – Can be a callable or a string. In the former case, it must be a one-argument callable which returns the value of a choice. In the latter case, the string specifies the name of an attribute of the choice objects. Defaults to
str()orstr().
- class marshmallow.validate.Predicate(method: str, *, error: Optional[str] = None, **kwargs)[source]¶
Call the specified
methodof thevalueobject. The validator succeeds if the invoked method returns an object that evaluates to True in a Boolean context. Any additional keyword argument will be passed to the method.- Parameters
method – The name of the method to invoke.
error – Error message to raise in case of a validation error. Can be interpolated with
{input}and{method}.kwargs – Additional keyword arguments to pass to the method.
- class marshmallow.validate.Range(min=None, max=None, *, min_inclusive: bool = True, max_inclusive: bool = True, error: Optional[str] = None)[source]¶
Validator which succeeds if the value passed to it is within the specified range. If
minis not specified, or is specified asNone, no lower bound exists. Ifmaxis not specified, or is specified asNone, no upper bound exists. The inclusivity of the bounds (if they exist) is configurable. Ifmin_inclusiveis not specified, or is specified asTrue, then theminbound is included in the range. Ifmax_inclusiveis not specified, or is specified asTrue, then themaxbound is included in the range.- Parameters
min – The minimum value (lower bound). If not provided, minimum value will not be checked.
max – The maximum value (upper bound). If not provided, maximum value will not be checked.
min_inclusive – Whether the
minbound is included in the range.max_inclusive – Whether the
maxbound is included in the range.error – Error message to raise in case of a validation error. Can be interpolated with
{input},{min}and{max}.
- class marshmallow.validate.Regexp(regex: Union[str, bytes, Pattern[~ AnyStr]], flags=0, *, error: Optional[str] = None)[source]¶
Validator which succeeds if the
valuematchesregex.Note
Uses
re.match, which searches for a match at the beginning of a string.- Parameters
regex – The regular expression string to use. Can also be a compiled regular expression pattern.
flags – The regexp flags to use, for example re.IGNORECASE. Ignored if
regexis not a string.error – Error message to raise in case of a validation error. Can be interpolated with
{input}and{regex}.
- class marshmallow.validate.URL(*, relative: bool = False, schemes: Optional[Union[Sequence[str], Set[str]]] = None, require_tld: bool = True, error: Optional[str] = None)[source]¶
Validate a URL.
- Parameters
relative – Whether to allow relative URLs.
error – Error message to raise in case of a validation error. Can be interpolated with
{input}.schemes – Valid schemes. By default,
http,https,ftp, andftpsare allowed.require_tld – Whether to reject non-FQDN hostnames.