Form¶
- class marimo.ui.form(element: UIElement[S, T], *, bordered: bool = True, loading: bool = False, submit_button_label: str = 'Submit', submit_button_tooltip: str | None = None, submit_button_disabled: bool = False, clear_on_submit: bool = False, show_clear_button: bool = False, clear_button_label: str = 'Clear', clear_button_tooltip: str | None = None, validate: Callable[[Mapping[str, Mapping[str, JSONType] | Sequence[JSONType] | str | int | float | bool | MIME | None] | Sequence[Mapping[str, JSONType] | Sequence[JSONType] | str | int | float | bool | MIME | None] | str | int | float | bool | MIME | None], str | None] | None = None, label: str = '', on_change: Callable[[T | None], None] | None = None)¶
A submittable form linked to a UIElement.
Use a
formto prevent sending UI element values to Python until a button is clicked.The value of a
formis the value of the underlying element the last time the form was submitted.Example.
# Create a form with chaining form = mo.ui.slider(1, 100).form()
# Create a form with multiple elements form = ( mo.md(''' **Your form.** {name} {date} ''') .batch( name=mo.ui.text(label="name"), date=mo.ui.date(label="date"), ) .form(show_clear_button=True, bordered=False) )
# Instantiate a form directly form = mo.ui.form(element=mo.ui.slider(1, 100))
Attributes.
value: the value of the wrapped element when the form’s submit button was last clickedelement: a copy of the wrapped element
Initialization Args.
element: the element to wrapbordered: whether the form should have a borderloading: whether the form should be in a loading statesubmit_button_label: the label of the submit buttonsubmit_button_tooltip: the tooltip of the submit buttonsubmit_button_disabled: whether the submit button should be disabledclear_on_submit: whether the form should clear its contents after submittingshow_clear_button: whether the form should show a clear buttonclear_button_label: the label of the clear buttonclear_button_tooltip: the tooltip of the clear buttonvalidate: a function that takes the form’s value and returns an error message if the value is invalid, orNoneif the value is validlabel: text label for the formon_change: optional callback to run when this element’s value changes
Public methods
Inherited from
UIElementform([label, bordered, loading, ...])Create a submittable form out of this
UIElement.send_message(message, buffers)Send a message to the element rendered on the frontend from the backend.
Inherited from
Htmlbatch(**elements)Convert an HTML object with templated text into a UI element.
center()Center an item.
right()Right-justify.
left()Left-justify.
callout([kind])Create a callout containing this HTML element.
style(style)Wrap an object in a styled container.
Public Data Attributes:
Inherited from
UIElementvalueThe element’s current value.
Inherited from
HtmltextA string of HTML representing this element.