https://pypi.org/project/validator.py/

校验参数必要性

from validator import Required, In, InstanceOf, Length, validate, Range rules = {
  # 1、Required 必要
  # 2、长度1-255
  # 3、类型string
  'name': [Required, Length(1, 255), InstanceOf(str)] } data = {'name': ''}
chk = validate(rules, data)
print(chk)
# ValidationResult(valid=False, errors={'a': ['must be between 1 and 255 elements in Length']})
选填
# 非 Required 即可选
rules = {
  'name': [Length(1, 255), InstanceOf(str)],
  'user_id': [Length(11), InstanceOf(int)],
}
参数间的合法性检查
# 在某些需求中,接口需要针对不同参数值检查另外参数的合法性
rules = {
'name': [Required, Length(1, 255), InstanceOf(str)],
'value': [Required],
'type': [
Required, InstanceOf(int), range(0, 2)
If(Equals(0, Then({'value': [InstanceOf(int)]}))),
If(Equals(1, Then({'value': [InstanceOf(str), Length(1, 255)]}))),
If(Equals(2, Then({'value': [InstanceOf(bool)]}))),
],
}

【Python】validator进行数据校验的更多相关文章

  1. Golang使用validator进行数据校验及自定义翻译器

    Golang使用validator进行数据校验及自定义翻译器 包下载:go get github.com/go-playground/validator/v10 一.概述 在接口开发经常会遇到一个问题 ...

  2. .net 使用validator做数据校验

    概述 在把用户输入的数据存储到数据库之前一般都要对数据做服务端校验,于是想到了.net自带的数据校验框架validator.本文对validator的使用方法进行介绍,并分析下校验的的原理. 使用va ...

  3. 数据校验validator 与 DWZ

    在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 ...

  4. JSR303的数据校验-Hibernate Validator方式实现

    1.什么是JSR303? JSR303是java为bean数据合法性校验所提供的一个标准规范,叫做Bean Validation. Bean Validation是一个运行时的数据校验框架,在验证之后 ...

  5. 使用Hibernate Validator来帮你做数据校验

    数据校验是贯穿所有应用程序层(从表示层到持久层)的常见任务.通常在每个层中实现相同的验证逻辑,这是耗时且容易出错的.这里我们可以使用Hibernate Validator来帮助我处理这项任务.对此,H ...

  6. 数据校验DWZ与validator

    在做系统时经常会用到数据校验,数据校验可以自己写,也可以用现在成的,现在记录下两种类库使用方法, validato <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  7. 用spring的@Validated注解和org.hibernate.validator.constraints.*的一些注解在后台完成数据校验

    这个demo主要是让spring的@Validated注解和hibernate支持JSR数据校验的一些注解结合起来,完成数据校验.这个demo用的是springboot. 首先domain对象Foo的 ...

  8. SpringBoot 2 快速整合 | Hibernate Validator 数据校验

    概述 在开发RESTFull API 和普通的表单提交都需要对用户提交的数据进行校验,例如:用户姓名不能为空,年龄必须大于0 等等.这里我们主要说的是后台的校验,在 SpringBoot 中我们可以通 ...

  9. Struts2数据校验

    Struts2数据校验 1.常见数据校验方法 表单数据的校验方式: 表单中的数据必须被效验以后才能够被使用,常用的效验方式分为两种: 前台校验:也称之为客户端效验,主要是通过JS编程的方式进行表单数据 ...

  10. Spring MVC数据校验

    在web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对 数据进行验证.输入验证分为客户端验证与服务器端验证.客户端验证主要通过JavaScript脚本进行,而服务器端验证则主要通过Jav ...

随机推荐

  1. [ARC140D] One to One

    个人思路: 一棵树也只有一个 \(a=-1\) 的点,所以可以把它看做一个点,但是要记录点的大小 \(sz_i\),即为这棵树的大小.如果本来就是一个点,那么大小为 \(1\). 状态:\(dp_{i ...

  2. ASPNET Core ActionFilterAttribute中断后续请求

    转载自:https://www.cnblogs.com/luconsole/p/4346669.html SPNET MVC如何正确的中断请求? 感觉是这样? 在aspnet开发过程中如果想要中断当前 ...

  3. C++实现单链表相关操作

    #include<iostream>#include<cstdlib>//C++动态分配存储空间using namespace std;#define OK 1#define ...

  4. Asp.Net Core中使用日志组件log4net

    我们在开发任何项目过程中,记录各种日志是太正常不过的事情.没有日志记录的项目,也不可能放心进入生产环境运行.因此日志的记录,是必须要做的. 在.NET开发中,log4net是个常用的日志组件.本文简单 ...

  5. Oracle深入数据库体系结构_第三章文件

    构成数据库和实例的8种主要文件类型: 参数文件:(init file) 可以通过视图V$PARAMETER(show parameter)查看 跟踪文件 警告文件 数据文件 临时文件 控制文件 重做日 ...

  6. Unity Random

    Random 不仅可以随机值,还可以随机其它属性,用了这么久,刚知道... 譬如: rotation  随机Rotation onUnitSphere  球体表面随机点 insideUnitCircl ...

  7. session共享问题、springboot 版本不统一问题

    问题:按照正常的程序将session 共享引入工程,但是一直取不到 原因:springboot 的版本不同导致,存session的springboot 用的是springboot1.5.6,而取ses ...

  8. jquery获取父级容器高度

    //获取浏览器显示区域的高度console.log( $(window).height()); //获取浏览器显示区域的宽度console.log($(window).width()); //获取页面 ...

  9. 同一系统开启两个ftp进程

    1.正常情况是yum 安装vsftpd服务 ,在/etc/vsftpd目录更改配置,起服务.这样启动是一个服务. 2.启动第二个vsftpd服务 #创建虚拟用户 useradd -d /home/vi ...

  10. usbip:(一)初识

    USB/IP 总结   一.概要: USB/IP项目的目标是为用户提供通过网络远程访问usb设备的能力.在用户看来,访问usb设备和访问插入到本地电脑的设备没什么区别,该项目是开源的,可以用过适当的配 ...