CerberusでValidationを行う

PythonスクリプトのバリデーションをCerberusで行ってみる。

Cerberus

Install

pip install cerberus

Example

schema = {
    "name": {
        "type": "string",
        "required": True,
    },
}

request_body = {
    "name": "me",
}

v = Validator(schema)
v.allow_unknown = True

# バリデーション実行
if not v.validate(request_body):
    # エラー理由
    print(v.errors)

print("Success")

使用感

よくあるValidatorとして普通に使える。

メールアドレスのチェックがデフォルトで入っていないのは驚いたが、拡張は容易なのでそこまで問題にならないのではないか。

小さなスクリプトでも大きなプロジェクトでも普通に使えそうでかなり好印象。

参考