当前位置: 首页 > 软件库 > 管理和监控 > 安全相关 >

XData

数据验证工具
授权协议 MIT
开发语言 Python
所属分类 管理和监控、 安全相关
软件类型 开源软件
地区 国产
投 递 者 芮岳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

XData

一款非常实用的数据验证工具, 通常用于数据的验证.

特性

  • 验证数据一步到位

  • 容易扩展,容易自定义数据类型以及验证方式

  • 无第三方依赖

要求

  • python >= 3.5

安装

pip install xdata

用法

ValidatedData

from xdata import *

class UserSchema(Schema):
    telephone = Str(length=11, required=True)
    password = Str(min_length=8,max_length=16, required=True)
    
request_data = {
    'telephone':'18180050000',
    'password':'idonotknow'
}

schema = UserSchema(request_data)
if schema.valid:
    print(schema.validated_data) # {'telephone': '18180050000', 'password': 'idonotknow'}

Errors

from xdata import *

class UserSchema(Schema):
    telephone = Str(length=11, required=True)
    password = Str(min_length=8, max_length=16, required=True)


request_data = {}

schema = UserSchema(request_data)
if not schema.valid:
    print(schema.errors)  # {'telephone': 'telephone is required', 'password': 'password is required'}

DataTypes

from xdata import *

DataType(required=True,default='11',choices=[])

Str(length=11, max_length=12,min_length=10,regex="")
Int(max=10000,min=12)
Bool(max=10000,min=12)
Decimal(left=5,right=2)
DateTime(max_datetime='2001-01-01 00:00:00', min_datetime='2000-01-01 00:00:00')
Date(max_date='2001-01-01', min_date='2000-01-01')
Time(max_time='06:00:00', min_time='05:00:00')
  • 从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、C

  • C语言指针说明以 * 为分隔符, “*” 前面的存储类型修饰—指针所指向的对象数据的存储位置; “*” 后面的存储类型修饰—指针本身所分配的存储位置。 所以unsigned char xdata *p; 和xdata unsigned char *p   不一样。说明的是2回事。 而: xdata unsigned char *p; 和 unsigned char  * xdata p; 完全一样

  • 在不影响现有图纸的情况下,可以使用图元(Entity)的扩展信息(XData)来记录一些数据,这些数据可以用于更多功能。 1、给图元新增XData数据: //添加必要的引用 using Autodesk.AutoCAD.DatabaseServices; //给图元新增XData string xDataAppName = "NewAppName";//自定义名称 RegAppTable raT

  • 1、 data区空间小,所以只有频繁用到或对运算速度要求很高的变量才放到 data 区内,比如 for 循环中的计数值。 2、 data 区内最好放局部变量。 因为局部变量的空间是可以覆盖的(某个函数的局部变量空间在退出该函数是就释放,由别的函数的局部变量覆盖),可以提高内存利用率 。当然静态局部变量除外,其内存使用方式与全局变量相同; 3、 确保你的程序中没有未调用的函数。 在 Keil C 里

  • xdata volatile uint8_t temp = 0; //不报错 volatile xdata uint8_t temp = 0; //报错 xdata 表示把变量声明在外部 RAM 中; volatile 表示不优化改变量,每次写入时,都是真实地写入; 当我们定义一个在外部 RAM中的变量,同时又要求不优化该变量时,就需要联合这两个关键词。

  • 从数据存储类型来讲,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特色而设定的pdata类型,使用不一样的存储器,将使程序执行效率不一样,在编写C51程序时,最好指定变量的存储类型,这样将有利于提升程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不一样,它只分SAML

  • 从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、C

  • 今天有个硬件工程师问我一个问题, 单片机C语言中经常会用到idata xdata pdata data 修饰变量,这个是什么意思? 我告诉他这个是数据存储管理的意思,具体定义到那个区忘记了。 羞愧难当,居然还好意思说自己写单片机C语言程序。 然后我百度了下: data: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。是在 0 到 127 之间的一

  • 我正在尋找一種方法來添加動態遷移數據的動態更新圖(地點與時間)分隔連續幾天的垂直分界線。部分挑戰在於,這些分隔線的數量隨着繪圖域擴展以顯示更多時間數據而發生變化:例如,隨着繪圖中天數從3增加到5,分隔線的數量增加了2個。在MATLAB中:XData和YData如何用更改的行數更新? 的最小代碼示例中,寫在MATLAB,如下所示:在已經註釋掉兩條線 xcols = [1; 1]; ycols = [

  • Program Size: data=191.3 xdata=650 code=20412 1.data,xdata,code指的是什么呢? data    可寻址片内RAM xdata    可寻址片外RAM  code    程序存储区ROM  2.单片机ROM,RAM,FLASH的功能 ROM    存储固化程序 (存放指令代码和固定数值,程序运行后不可改动) RAM    程序运行中数据的

  • 对于CAD中的实体进行筛选等操作,常常会用到实体的XData属性,下面介绍一下实体的XData的增删改。 //XData的新增,修改跟新增一样,new一个ResultBuffer,赋值即可 Document doc=Application.DocumentManager.MdiActiveDocument; using (DocumentLock dl = doc.LockDocument())

 相关资料
  • 编写验证器 验证器是一个可调用的对象,它接受一个值,并在不符合一些规则时抛出ValidationError异常。验证器有助于在不同类型的字段之间重复使用验证逻辑。 例如,这个验证器只允许偶数: from django.core.exceptions import ValidationError def validate_even(value): if value % 2 != 0:

  • 简介 Lumen 提供了数种不同的方法来验证传入应用程序的数据。默认情况下,Lumen 的基控制器类使用名为 ProvidesConvenienceMethods 的 trait,其提供了一种便捷的方法来使用各种强大的验证规则验证传入的 HTTP 请求。 一般来说,Lumen 中的数据验证与 Laravel 中的数据验证并无多大区别,因此你应该查阅 完整的 Laravel 数据验证文档 以熟悉其使

  • ThinkCMF5的数据库验证按 TP5的验证来处理,不同的是自定义验证器增加了 Validate后缀,所以你在查看 TP5手册时请留意这一点! TP5手册-验证

  • Jboot 从 V3.7.5 开始,增强 Jboot 的验证方式,在 Jboot 之前的 @EmptyValidate、@RegexValidate 等基础上,进一步基于 JSR 303 – Bean Validation 简化了验证方式,相比 Spring 更加优雅简单。 @NotNull 在 Controller (或 Service 等)中,我们可以直接通过 @NotNull 注解给 Con

  • 数据验证 phpGrace 内置了数据验证工具类,可以方便、全面的验证数据! 使用步骤 //1、定义验证规则 $checkRules = array( 'name' => array('验证类型', '验证规则匹配的数据', '错误信息'), ...... ); //2、实例化数据验证工具(参数:1、被验证的数据 2、验证规则 3、是否自动验证 Token 【可选参数 默认 fa

  • 继续我先前的问题。我正在研究CAS 5,以便根据需要进行修改。在CAS教程的帮助下,我现在已经完成了自定义身份验证。现在,我向pom添加了以下依赖项。xml,通过以下链接连接到数据库。 并在应用程序中添加了数据库身份验证属性。属性 但这不起作用意味着 类型org.apereo.cas.configuration.model.support.jdbc.QueryJdbcAuthentiationPr