vibe.handlers.date

Handler for Text Input Data Types.

Implements the DataTypeHandler interface for date inputs. Handles widget rendering, form data processing, and runtime validation specific to this type.

DateHandler

Handler for date input.

__init__

__init__(definition: dict[str, Any]) -> None

Initialize with optional min/max date constraints (YYYY-MM-DD strings).

render_widget

render_widget(name: str, current_value: date | None, error_message: str | None = None, _item_level_errors: object = None) -> str

Render date input widget; value is a date or None.

get_additional_widget_context

get_additional_widget_context(name: str, current_value: date | None, error_message: str | None = None) -> dict[str, str]

Provide attributes for min/max and current value to the template.

process_form_data

process_form_data(name: str, form_data: MultiDictLike) -> date | None

Parse ISO date string to datetime.date; return None if empty/invalid.

validate_input

validate_input(value: date | None, check_required: bool = True) -> str | None

Validate presence and min/max constraints for the parsed date.

get_probe_placeholder

get_probe_placeholder() -> date

Return a safe placeholder date for probing; prefers configured default.

get_preview_placeholder_value

get_preview_placeholder_value() -> str

Return an HTML placeholder for live preview rendering.