python语言的类laravel数据验证库
laravalidation的Python项目详细描述
放大
原始分叉回购:https://github.com/walid-mashal/laravel validation
laravalidation是一个python模块,包含使用python语言实现laravel风格的数据验证的逻辑。此代码可与HTML表单一起用于验证其输入字段,也可与任何其他类型的数据一起使用,只要这些数据是以Python字典的形式存在。
例如,我们可以将一些数据以python字典的形式保存如下:
data = {
'name':'2222222',
'phone':'2',
'birthday':'1991/03/04',
'email':'info@example.com',
'host':'172.30.30.231',
'website':'https://www.example.com',
'nationality':'afghan',
'active':'1',
}
需要验证。
因此,我们可以按以下方式编写规则来验证数据
rules = {
'name':'required|size:20',
'phone':'phone',
'birthday':'date|date_format:%Y/%m/%d',
'email':'required|email',
'host':'ip',
'website':'website',
'nationality':'in:afghan,pakistani,irani',
'active':'boolean'
}
说明:
名称字段是必需字段,最多允许20个字符。
电话字段是电话号码字段,应为此字段输入有效的电话号码。
生日字段是日期字段,输入的值应为有效日期,日期格式允许您指定该字段应填充的日期格式。
电子邮件也是必需的,应在该字段中输入有效的电子邮件
主机必须是有效的IP地址,例如196.3.3.8
网站必须是有效的网站地址,例如http://www.google.com
国籍可以是提供的三个字符串之一:阿富汗、巴基斯坦、伊朗
活动的必须是以下值之一:1,0,"1","0","false","true",false,true
现在我们可以编写以下代码来验证数据
现在错误包含验证结果的错误消息列表。 validate()还接受一个可选的自定义消息参数,该参数将设置用于验证的用户消息,或者,您可以使用cutom_error_messages.json文件来设置自己选择的消息,而不是传递自定义消息参数。 我们可以调用is valid()方法来验证数据,并返回true或false 当validate()或是有效的()之后,将在包含验证错误消息列表的对象上设置一个名为errors的实例变量。 下面是可用的验证规则列表 正在验证的字段必须是给定日期之后的值。 正在验证的字段必须完全是字母字符。 正在验证的字段必须是entirely字母数字字符。 正在验证的字段必须是给定日期之前的值。 正在验证的字段的大小必须介于给定的min和max之间。字符串和数字的计算方式与大小规则相同。 验证中的字段必须能够转换为布尔型。接受的输入值为真、假、1、0、"1"和"0"。 正在验证的字段必须有一个匹配的foo_confirmation字段。例如,如果正在验证的字段是password,则输入中必须存在匹配的password_confirmation字段。 正在验证的字段必须是有效日期,如果未应用日期格式规则,则格式的默认值为%m/%d/%y。 正在验证的字段必须与格式中定义的格式匹配,默认格式为%m/%d/%y。此规则应按日期规则执行。 给定的字段必须与正在验证的字段不同。 正在验证的字段必须是数字,并且必须具有精确的长度值 正在验证的字段必须格式化为电子邮件地址。 正在验证的字段必须具有整数值。 正在验证的字段必须格式化为IP地址。 正在验证的字段必须小于或等于最大值。字符串、数字和文件的计算方式与大小规则相同。 正在验证的字段必须具有最小值。字符串、数字和文件的计算方式与大小规则相同。 正在验证的字段不能包含在给定的值列表中。 正在验证的字段必须存在于输入数据中,但可以为空。 正在验证的字段必须与给定的正则表达式匹配。 正在验证的字段必须存在于输入数据中。 给定字段必须与正在验证的字段匹配。 正在验证的字段必须具有与给定值匹配的大小。对于字符串数据,值对应于字符数。对于数字数据,值对应于给定的整数值。 正在验证的字段必须具有有效的网站URL作为值。例如:https://www.example.com rel="nofollow">https://www.example.com或www.example.comfrom validation import Validation
validator = Validation()
errors = validator.validate(data,rules)
from validation import Validation
validator = Validation()
isvalid = validator.is_valid(data,rules)
errors = validator.errors
验证规则
之后
α
阿尔法数
之前:日期
介于:最小值、最大值之间
布尔型
已确认
日期
日期格式:格式
不同:字段
数字:值
电子邮件
整数
IP
最大值
最小值:值
不在:foo,bar,…
存在
正则表达式:模式
必需的
相同:字段
大小:值
网站
推荐PyPI第三方库