Schema是一种优雅的数据验证方式
整个源码的代码是七百多行,有时间可以研究下。
常用的数据验证类有:
Schema(基础数据验证类)、Use(数据类型强制转换)、And(参数满足多个条件)、Or(参数满足或的条件)、
Optional(参数可选,继承Schema)
常用的数据异常类有:SchemaError(异常基类)、SchemaWrongKeyError、SchemaMissingKeyError、
SchemaUnexpectedTypeError
基础数据验证类
Schema
基础例子:Use把输入的数据类型强制转化为需要的、”ignore_extra_keys“参数表示若是有多余的参数出现则直接忽略。该参数可以
结合“SchemaWrongKeyError”使用
data = dict(name="crm", age=18)
data = Schema({"age": Use(int), "name": Use(str)}, ignore_extra_keys=True).validate(data)
And
And表示参数必须满足多个条件,例如如下例子要求age参数必须满足数值小于10且数据类型是整形(注意这里没有使用Use了):
data = dict(name="crm", age=18)
resp = Schema(