vibe.handlers.enum¶
Handler for Enum Data Types.
Implements the DataTypeHandler interface for various text-based inputs (e.g., radio, select). Handles widget rendering, form data processing, and runtime validation specific to these types.
EnumHandler ¶
Handler for single-choice enumeration types (select dropdown or radio buttons).
__init__ ¶
__init__(definition: dict[str, Any]) -> None
Initialize with options list, normalizing and validating option values.
render_widget ¶
render_widget(name: str, current_value: str | None, error_message: str | None = None, _item_level_errors: dict[str, str] | None = None) -> str
Render select/radio widget for single-choice enums.
get_widget_template_name ¶
get_widget_template_name() -> str
Return the Jinja template name for enum widgets.
get_additional_widget_context ¶
get_additional_widget_context(name: str, current_value: str | None, error_message: str | None = None) -> dict[str, Any]
Provide options and render_as for template rendering.
process_form_data ¶
process_form_data(name: str, form_data: MultiDictLike) -> str | None
Return selected option value or None if unanswered/invalid.