FastAPI Update Fixes Empty Form Fields for Web Developers
If you build websites with forms, this update prevents annoying validation errors.
Browsers submit empty text inputs as empty strings, and FastAPI now treats empty scalar form values as missing in form models, matching individual Form parameters. Required fields return a validation error.
Fields with defaults or default factories use them and remain unset in model_dump(exclude_unset=True). Empty strings inside lists are preserved.
Omitted boolean form fields still become False. JSON requests and direct Pydantic validation are unchanged.
- FastAPI now treats empty form fields as missing, so required fields show an error if left blank.
- Fields with defaults use those defaults when empty, making forms more predictable.
- This update only affects form data, not JSON or other types of requests.
Why It Matters
Developers can build more reliable forms, leading to fewer errors and better user experiences on websites.