dictify.Field() creates a reusable validator object.

Field(
    required: bool = False,
    default: Any = UNDEF,
    grant: list[Any] | None = None,
)

For Model classes, prefer Annotated[..., Field(...)] for type-checker-friendly field declarations:

from typing import Annotated

from dictify import Field, Model


class User(Model):
    email: Annotated[str, Field(required=True)]

Use Field(...) to add options, standalone state, and validation methods.

Pages

  • Field Options: required, default, grant, and model field typing.
  • Field Validators: instance(), listof(), match(), search(), model(), verify(), and func().
  • Field State: value, reset(), default, has_default, validate(), and clone().
  • ListOf: list values returned by Field.listof(...).