Python参数校验工具:validate.py

一直都在找一个比较好用的参数校验工具包(Python),这次终于找到了就做个记录。

包名:validate.py

安装方式:(pip已收入, 当前最新版本是1.3.0)

pip install validate.py

from validator import Required, InstanceOf, Blank, validate


# 定义规则
Rules1 = {"args1":[Required, Not(Blank())],
"args2":[Required, Instanceof(int)],
"args3":[Required, Instanceof(list)],
}


# 封装校验函数
def my_validate(args:dict):
    return validate(Rules1, args)


def demo():
    """demo"""
    input_args= {"arg1": 1, "arg2": 2, "arg3":[1,2,3]}
    rst = my_validate1(input_args)
    if not rst.valid:
        raise ValueError(f"args is invalid, {rst.errors}")

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
显象: 1. 直接调用的类名:HttpRequest, DatabaseConnection, FileParser, ImageProcessor, UserService 2. 直接调用的文件名:main.py, utils.py, models.py, views.py, config.ini 3. 直接调用的函数名:parse_data, validate_input, create_user, get_image_size, execute_query 真象: 1. 隐含调用的类名:Logger, ConfigLoader, EmailSender, SecurityManager, CacheManager 2. 隐含调用的文件名:constants.py, helpers.py, decorators.py, middleware.py, serializers.py 3. 隐含调用的函数名:encrypt_data, format_output, send_email, generate_token, check_cache 特征: 1. 属性名:name, age, email, address, phone_number 2. 方法名:get_name, set_age, validate_email, calculate_total_price, save_data 3. 类对象名:user, product, order, database_connection, file_handler 现象: 1. 输入参数:user_id, product_name, file_path, query_string, request_payload 2. 返回参数:success_message, error_message, result_data, processed_image, response_code 3. 打印信息:log_message, debug_info, error_stack_trace, warning_message, performance_metrics 变化: 1. 函数体:if-else 语句块的逻辑变化,循环迭代的方式变化,条件判断的优化方式变化,异常处理的方式变化 2. 算法实现:排序算法的不同实现方式,搜索算法的不同实现方式,图像处理算法的不同实现方式,加密算法的不同实现方式 3. 数据结构:列表(List)数据结构的使用方式变化,字典(Dictionary)数据结构的使用方式变化,集合(Set)数据结构的使用方式变化,堆栈(Stack)数据结构的使用方式变化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值