Pydantic Model for Request Validation
Describe a request payload with a Pydantic model so types and constraints are enforced and clear validation errors are returned automatically.
Code
from typing import Optional
from pydantic import BaseModel, EmailStr, Field, field_validator
class CreateUser(BaseModel):
email: EmailStr
age: int = Field(ge=13, le=120)
nickname: Optional[str] = Field(default=None, max_length=32)
@field_validator("nickname")
@classmethod
def normalize_nickname(cls, value: Optional[str]) -> Optional[str]:
if value is None:
return value
trimmed = value.strip()
return trimmed or None
create_user = CreateUser(email="[email protected]", age=36, nickname=" ada ")
print(create_user.model_dump())Report a problem with this exampleOpens a pre-filled issue on GitHub.