python 3的验证库
dirty-validators的Python项目详细描述
脏验证程序
python 3的不可知验证器
基于[wtf forms](https://github.com/wtforms/wtforms)验证器。
功能
- Python3包。
- 易于创建验证器。
- 链式验证。
- 条件验证。
- 特定的错误控制消息。
- 脏模型集成(https://github.com/alfred82santa/dirty-models)
- 不依赖于数据库。
- 异步验证器。
变更日志
版本0.5.2
- 从脏模型中移除硬依赖项。
- 修正迭代列表模型的错误。
版本0.5.1
- 映射的附加值验证器。
版本0.5.0
- 添加了异步验证器。
版本0.4.0
- 添加了<root>关键字,以便从上下文的根模型中查找字段。
- 为规范验证器添加了key_validator参数,以便验证哈希映射上的密钥。
安装
$ pip install dirty-validators
基本用法
fromdirty_validators.basicimportEqualTo,Length,Regexp,Emailfromdirty_validators.compleximportOptional,ModelValidatevalidator=Optional(validators=[EqualTo(comp_value="test")])assertvalidator.is_valid("test")isTrue# Chained validationvalidator_chain=Chain(validators=[Length(min=14,max=16),Regexp(regex='^abc'),Email()])assertvalidator_chain.is_valid('abcdefg@test.com')# Model validationclassMyModelValidator(ModelValidate):fieldName1=Optional(validators=[Length(min=4,max=6)])fieldName2=Optional(validators=[Length(min=1,max=2)])fieldName3=Required(validators=[Length(min=7,max=8)])validator_model=MyModelValidator()data={"fieldName1":"1234","fieldName1":"12","fieldName3":"123456qw"}assertvalidator_model.is_valid(FakeModel(data))isTrue
注意
查看测试以获取更多示例