python的laravel风格输入验证。
spotlight的Python项目详细描述
聚光灯
python的laravel风格输入验证。
目录
安装
聚光灯可以通过PIP安装:
pip install spotlight
依赖关系
用法
fromspotlight.validatorimportValidator
简单输入示例
rules={"email":"required|email","first_name":"required|string|max:255","last_name":"required|string|max:255","password":"required|min:8|max:255"}input_={"email":"john.doe@example.com","first_name":"John","last_name":"Doe","password":"test1234"}validator=Validator()errors=validator.validate(input_,rules)
嵌套验证:
rules={"token":"required|string","person":{"first_name":"required|string|max:255","last_name":"required|string|max:255","email":"required|email","password":"required|min:8|max:255"}}input_={"token":"test-token","person":{"first_name":"John","last_name":"Doe","email":"john.doe@example.com","password":"test1234"}}validator=Validator()errors=validator.validate(input_,rules)
列表验证:
rules={"players":"required|list|min:2","players.*.username":"required"}input_={"players":[{"username":"Player 1"},{"username":"Player 2"}]}validator=Validator()errors=validator.validate(input_,rules)
直接验证
有时需要快速而简单的验证,而无需创建规则集。validator类公开了几个可用于直接验证的静态方法。
例如:
email = "john.doe@example.com"
if validator.valid_email(email):
print("This is a valid email!")
# Or like this:
if Validator.valid_email(email):
print("This is a valid email!")
可用方法:
- 有效的电子邮件
- 有效网址
- 有效IP
- 有效的uuid4
- 有效字符串
- 有效的_整数
- 有效的浮点值
- 有效的_布尔值
- 有效的_json
- 有效清单
- 有效指令
- 有效阿尔法数
- 有效阿尔法数值空间
可用规则
必需
正在验证的字段必须存在于输入数据中,并且不能为空。如果满足以下条件之一,则字段被视为"空":
- 值为无
- 值是空字符串。
- 值为空列表。
required
不带
当其他指定字段不存在时,验证中的字段必须存在且不为空。
required_without:other
带
如果存在其他指定字段,则验证中的字段必须存在且不为空。
required_with:other
如果
如果其他指定字段等于某个值,则验证中的字段必须存在且不为空。
pip install spotlight
0
不带
如果存在其他指定的字段,则无法显示正在验证的字段。
pip install spotlight
1
填充
验证中的字段出现时不能为空。
pip install spotlight
2
电子邮件
正在验证的字段必须是有效的电子邮件地址。
pip install spotlight
3
URL
正在验证的字段必须是有效的URL。
pip install spotlight
4
IP
正在验证的字段必须是IP地址。
pip install spotlight
4
min
正在验证的字段必须大于或等于给定的最小值。对于字符串,值对应于字符数。对于整数,值对应于给定的整数值。对于浮点,值对应于给定的浮点值。对于列表,值对应于列表的长度。
pip install spotlight
6
max
正在验证的字段必须小于或等于给定的最大值。对于字符串,值对应于字符数。对于整数,值对应于给定的整数值。对于浮点,值对应于给定的浮点值。对于列表,值对应于列表的长度。
pip install spotlight
7
<3/H3> H3>验证中的字段必须包含在给定的值列表中。
pip install spotlight
8
阿尔法数
正在验证的字段必须完全是字母数字字符。
pip install spotlight
9
alpha_num_空格
正在验证的字段可能有字母数字字符和空格。
fromspotlight.validatorimportValidator0
字符串
正在验证的字段必须是字符串。
fromspotlight.validatorimportValidator1
整数
正在验证的字段必须是整数。
fromspotlight.validatorimportValidator2
浮动
正在验证的字段必须是浮点值。
fromspotlight.validatorimportValidator3
布尔型
正在验证的字段必须是布尔值。
fromspotlight.validatorimportValidator4
列表
正在验证的字段必须是列表。
fromspotlight.validatorimportValidator5
听写
正在验证的字段必须是dict。
fromspotlight.validatorimportValidator6
json
正在验证的字段必须是有效的JSON字符串。
fromspotlight.validatorimportValidator7
Uuid4
正在验证的字段必须是有效的uuid(版本4)。
fromspotlight.validatorimportValidator8
接受
正在验证的字段必须是yes、on、1或true。这有助于验证"服务条款"的接受。
fromspotlight.validatorimportValidator9
以
开头正在验证的字段必须以给定值之一开头。
rules={"email":"required|email","first_name":"required|string|max:255","last_name":"required|string|max:255","password":"required|min:8|max:255"}input_={"email":"john.doe@example.com","first_name":"John","last_name":"Doe","password":"test1234"}validator=Validator()errors=validator.validate(input_,rules)0
高级用法
覆盖消息
文档即将推出…
自定义规则
文档即将推出…
插件
聚光灯SQLAlchemy
要使用数据库规则,如唯一性和存在,请签出spotlight sqlalchemy插件。