Form
Defines a form field parameter for a FastAPI path operation, allowing the extraction of data from the request body sent as form data. It configures validation rules, metadata for OpenAPI documentation, and default values for the parameter.
def Form(
default: Any = Undefined,
default_factory: Callable[[], Any] | None = _Unset,
media_type: str = application/x-www-form-urlencoded,
alias: str | None = null,
alias_priority: int | None = _Unset,
validation_alias: str | AliasPath | AliasChoices | None = null,
serialization_alias: str | None = null,
title: str | None = null,
description: str | None = null,
gt: float | None = null,
ge: float | None = null,
lt: float | None = null,
le: float | None = null,
min_length: int | None = null,
max_length: int | None = null,
pattern: str | None = null,
regex: str | None = null,
discriminator: str | None = null,
strict: bool | None = _Unset,
multiple_of: float | None = _Unset,
allow_inf_nan: bool | None = _Unset,
max_digits: int | None = _Unset,
decimal_places: int | None = _Unset,
examples: list[Any] | None = null,
example: Any | None = _Unset,
openapi_examples: dict[str, Example] | None = null,
deprecated: deprecated | str | bool | None = null,
include_in_schema: bool = true,
json_schema_extra: dict[str, Any] | None = null,
extra: Any = null
) - > Any
Defines a form field for a request body, allowing the extraction of data from 'application/x-www-form-urlencoded' or 'multipart/form-data' payloads.
Parameters
| Name | Type | Description |
|---|---|---|
| default | Any = Undefined | Default value if the parameter field is not set. |
| default_factory | `Callable[[], Any] | None` = _Unset |
| media_type | str = application/x-www-form-urlencoded | The media type of this parameter field used for OpenAPI generation. |
| alias | `str | None` = null |
| alias_priority | `int | None` = _Unset |
| validation_alias | `str | AliasPath |
| serialization_alias | `str | None` = null |
| title | `str | None` = null |
| description | `str | None` = null |
| gt | `float | None` = null |
| ge | `float | None` = null |
| lt | `float | None` = null |
| le | `float | None` = null |
| min_length | `int | None` = null |
| max_length | `int | None` = null |
| pattern | `str | None` = null |
| regex | `str | None` = null |
| discriminator | `str | None` = null |
| strict | `bool | None` = _Unset |
| multiple_of | `float | None` = _Unset |
| allow_inf_nan | `bool | None` = _Unset |
| max_digits | `int | None` = _Unset |
| decimal_places | `int | None` = _Unset |
| examples | `list[Any] | None` = null |
| example | `Any | None` = _Unset |
| openapi_examples | `dict[str, Example] | None` = null |
| deprecated | `deprecated | str |
| include_in_schema | bool = true | Whether to include this parameter field in the generated OpenAPI schema. |
| json_schema_extra | `dict[str, Any] | None` = null |
| extra | Any = null | Deprecated keyword arguments for extra JSON Schema fields; use 'json_schema_extra' instead. |
Returns
| Type | Description |
|---|---|
Any | A parameter metadata object used by the framework to handle form data extraction and validation. |