Skip to content

チュートリアル

設定ファイルを検証する

python
from validkit import v, validate, ValidationError

config_schema = {
    "host": v.str().default("127.0.0.1"),
    "port": v.int().coerce().range(1, 65535).env("APP_PORT").default(8000),
    "debug": v.bool().coerce().default(False),
}

try:
    config = validate({"port": "8080"}, config_schema)
except ValidationError as exc:
    print(exc.path, exc.message)

クラス記法を使う

python
from typing import Optional
from validkit import validate

class User:
    name: str
    age: int = 18
    nickname: Optional[str]

user = validate({"name": "Nana"}, User)

複数エラーを集める

python
from validkit import v, validate

schema = {"id": v.int(), "name": v.str().min(3)}
result = validate({"id": "x", "name": "Al"}, schema, collect_errors=True)

if result.has_errors:
    for error in result.errors:
        print(error.path, error.message)