带有更好错误消息的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

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

推荐PyPI第三方库


热门话题
java使用prepared语句在oracle中插入日期   对点具有双重值的java   使用多个通配符的java请求映射   java Springboot为什么要设置springbootstartertomcat   除了对JavaBean的请求之外,还使用servletContext的servlet   java如何清除OCSID。返回到池的连接时的CLIENTID JDBC客户端信息属性   将整型数组转换为光栅Java   java使用对象引用作为互斥锁   java为什么在编程语言中使用sin函数返回奇怪的sin值不像计算器   java如何将JButton链接到对象并调用相关方法   php用Java发送POST数据   导航属性的java模拟加载   java多个活动错误Android试图对空对象引用调用虚拟方法“”   java Android更改ActionBar文本颜色   如何使用带有java反射且不带开关的parant引用创建子类