轻量级的现场数据验证器。
项目描述
fivalid 是轻量级的字段数据验证器。
特征
数据验证:
>>> from fivalid import validators >>> num = validators.Number(max=20) >>> num(10) >>> num(21) fivalid.validators.InvalidValueError: over max
数据验证和转换:
>>> from fivalid import BaseField, validators, converters
>>> class PercentageField(BaseField):
... validator = validators.All(
... validators.Number(min=0, max=100),
... validators.String())
... converter = converters.int_converter
>>> field = PercentageField()
>>> field('99')
99
>>> field('200')
fivalid.validators.InvalidValueError: over max
结构化数据(例如嵌套字典、嵌套列表)验证和转换:
>>> from fivalid import StructuredFields, Dict, BaseField
>>> from fivalid.validators import String, Length, All, Flag
>>> from fivalid.converters import truthvalue_converter
>>> class CommentField(BaseField):
... validator = All(String(), Length(max=500))
>>> class NicknameField(BaseField):
... validator = All(String(), Length(max=20))
>>> class RememberMeField(BaseField):
... validator = Flag()
... converter = truthvalue_converter
>>> rule = Dict(
... {'comment': CommentField(required=True),
... 'nickname': NicknameField(),
... 'remember me': RememberMeField()}
... )
>>> stfields = StructuredFields(rule)
>>> stfields({'comment': 'Hello, fivalid.',
... 'nickname': 'John Doe',
... 'remember me': '1'}
... )
{'comment': u'Hello, fivalid.', 'nickname': u'John Doe', 'remember me': True}
项目详情
关
fivalid-0.3.0.zip的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f197ec472df10dc10210fabad1863dc9f3ee7b68940cc3c04ea1b6ee353d228f |
|
| MD5 | 926af5d9271b68fced45b9e7a082a9d8 |
|
| 布莱克2-256 | 27c06a8c124c5c2be145ae5af8d0eda98762d356c9054f456ed750b3f947d62c |