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
value
is 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
value
is 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
value
passed 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
value
is 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
value
is 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
method
of thevalue
object. 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
min
is not specified, or is specified asNone
, no lower bound exists. Ifmax
is not specified, or is specified asNone
, no upper bound exists. The inclusivity of the bounds (if they exist) is configurable. Ifmin_inclusive
is not specified, or is specified asTrue
, then themin
bound is included in the range. Ifmax_inclusive
is not specified, or is specified asTrue
, then themax
bound 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
min
bound is included in the range.max_inclusive – Whether the
max
bound 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], flags=0, *, error: Optional[str] = None)[source]¶ Validator which succeeds if the
value
matchesregex
.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
regex
is 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
, andftps
are allowed.require_tld – Whether to reject non-FQDN hostnames.