轻量级字段数据验证程序。

fivalid的Python项目详细描述


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

结构化数据(如嵌套dict、嵌套list)验证和转换:

>>> 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}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
postgresql是Hibernate在EclipseLink中用于映射java的PostgresUUIDType模拟。util。UUID到Postgres的“UUID”类型   java如何连接到opensuse上的mysql localhost?   项目反应器(或RxJava2)的java执行器序列调用   JavaSpring控制器保留旧值   在Java中创建悬空指针   java SpringBootApplication scanBasePackages未读取子包   java C++文件头文件如果包含私有成员变量声明,它怎么能被看作类的“接口”呢?   java如何报告面板更改为父容器?   如果运行时打印错误,java将停止程序   将Java Spring应用部署到heroku时,json时区指示器“”无效   java如何使用spring的分层架构,并且仍然遵循面向对象的结构?   java从简单表达式中获取null   java使用正则表达式从字符串中提取ip地址   java如何设置一些属性而不是xml元素   java为什么按钮不反映Action的NAME属性?   java在调用Spring引导API时遇到404错误   java如何将大型参数从一个jsp传递到另一个jsp?   java JPanel paintComponent()不会在JFrame中绘制