带有更好错误消息的python json模式验证器
kanpai的Python项目详细描述
kanpai是一个用于验证python数据结构(主要是从json转换的数据结构)的库。例如,从api请求接收json,从配置文件获取json等。
示例
下面是一个简单的示例
importkanpaiasKanpaischema=Kanpai.Object({'first_name':(Kanpai.String(error='User first name must be string.').trim().required(error='Please provide user first name.').max(256,error='Maximum allowed length is 256')),'last_name':(Kanpai.String(error='User last name must be a String').trim().required(error='Please provide user last name.')),'age':(Kanpai.Number(error='Age must be a number.').max(35,'Maximum allowed age is 35').min(18,'Age must be minimum 18'))})validation_result=schema.validate({'first_name':'Chandrakanta','age':15})assertvalidation_result=={'success':False,'error':{'last_name':'Please provide user last name.','age':'Age must be minimum 18'},'data':{'first_name':'Chandrakanta','age':15}}
schema.validate
返回包含
{'success':'Whether validation is success or not','error':'Validation error','data':'Incase of error data provided for validation , in case success validated data'}
安装
使用pip
pip install kanpai
测试
pytest# to run testspytest--cov-report=html--cov-branch--cov=kanpai# to generate coverage report