使用



from marshmallow import validate, fields

name = fields.String(validate=validate.Length(max=256)) # name为字符串,最大长度为256


支持的属性

​And​​(*validators, Any], error)

Compose multiple validators and combine their error messages.

​ContainsNoneOf​​(iterable, *, error)

Validator which fails if ​​value​​​ is a sequence and any element in the sequence is a member of the sequence passed as ​​iterable​​.

​ContainsOnly​​(choices, labels, *, error)

Validator which succeeds if ​​value​​​ is a sequence and each element in the sequence is also in the sequence passed as ​​choices​​.

​Email​​(*, error)

Validate an email address.

​Equal​​(comparable, *, error)

Validator which succeeds if the ​​value​​​ passed to it is equal to ​​comparable​​.

​Length​​(min, max, *, equal, error)

Validator which succeeds if the value passed to it has a length between a minimum and maximum.

​NoneOf​​(iterable, *, error)

Validator which fails if ​​value​​​ is a member of ​​iterable​​.

​OneOf​​(choices, labels, *, error)

Validator which succeeds if ​​value​​​ is a member of ​​choices​​.

​Predicate​​(method, *, error, **kwargs)

Call the specified ​​method​​​ of the ​​value​​ object.

​Range​​([min, max])

Validator which succeeds if the value passed to it is within the specified range.

​Regexp​​(regex, bytes, Pattern], flags, *, error)

Validator which succeeds if the ​​value​​​ matches ​​regex​​.

​URL​​(*, relative, schemes, Set[str]]] = None, …)

Validate a URL.

​Validator​​()

Abstract base class for validators.

自定义:



from marshmallow import ValidationError


def my_validate(test_str):
if len(test_str) <= 5:
raise ValidationError("字符串长度必须大于5")
if len(test_str) >= 20:
raise ValidationError("字符串长度必须小于20")