使用
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")
原文:https://www.cnblogs.com/wender/p/15030655.html