带有更好错误消息的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 AfterburnerFX加载错误文件xyz。未找到fxml,正在尝试使用驼峰案例   java如何灵活地使用通用对象?   JAVA JPA保存到TSV而不是SQL   java关闭当前窗口并弹出上一个窗口(windowListener)   java删除\删除绑定对象   java构造函数。newInstance()在JUnit和实际运行时中的行为不同   java将字符串中的字符翻转到字母顺序   如何让java等待事件?   使用Flyway的java MySQL JDBC驱动程序   java ImageAdapter从HashMap put方法返回NullPointerException   java Camel:找不到restlet bean   java Gradle下载源依赖项   POST方法Spring和Thymeleaf中的java编码问题   用于管理后台作业的java Spring兼容机制   java在连续发送25MB文件5到10次的同时,我通过javamail收到以下异常   java应用程序在试图更改重新加载的片段中的FloatingActionButton的状态时不断崩溃   运行小程序时出现java Magic value错误   java如何使用jdbc连接将excel工作表中的数据存储到mysql数据库   Eclipse,来自src的Java。文件夹?