Skip to main content

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

NameTypeDescription
defaultAny = UndefinedDefault value if the parameter field is not set.
default_factory`Callable[[], Any]None` = _Unset
media_typestr = application/x-www-form-urlencodedThe media type of this parameter field used for OpenAPI generation.
alias`strNone` = null
alias_priority`intNone` = _Unset
validation_alias`strAliasPath
serialization_alias`strNone` = null
title`strNone` = null
description`strNone` = null
gt`floatNone` = null
ge`floatNone` = null
lt`floatNone` = null
le`floatNone` = null
min_length`intNone` = null
max_length`intNone` = null
pattern`strNone` = null
regex`strNone` = null
discriminator`strNone` = null
strict`boolNone` = _Unset
multiple_of`floatNone` = _Unset
allow_inf_nan`boolNone` = _Unset
max_digits`intNone` = _Unset
decimal_places`intNone` = _Unset
examples`list[Any]None` = null
example`AnyNone` = _Unset
openapi_examples`dict[str, Example]None` = null
deprecated`deprecatedstr
include_in_schemabool = trueWhether to include this parameter field in the generated OpenAPI schema.
json_schema_extra`dict[str, Any]None` = null
extraAny = nullDeprecated keyword arguments for extra JSON Schema fields; use 'json_schema_extra' instead.

Returns

TypeDescription
AnyA parameter metadata object used by the framework to handle form data extraction and validation.