Skip to main content

Form

A powerful form component with client-side validation, AJAX submission, and seamless Extbase integration.

<ui:exposeToClient />

<ui:form controlled="{true}" rootId="example-form" class="min-w-[275px]">

    <ui:field.root name="homepage" required="{true}" defaultValue="https://example.com">
        <ui:field.label>Homepage</ui:field.label>
        <ui:field.control asChild="{true}">
            <ui:input type="url" placeholder="https://example.com" />
        </ui:field.control>
        <ui:field.error />
    </ui:field.root>

    <ui:button type="submit">Submit</ui:button>
</ui:form>

<vite:asset entry="EXT:docs/Resources/Private/Components/FormExample/FormExample.entry.ts" />

Features

Installation

typo3 ui:add form

Read more about installing Components and Primitives.

Anatomy

<primitives:form.root>
    <primitives:field.root>
        <primitives:field.label />
        <primitives:field.control asChild="{true}">
            <!-- Your form input here -->
        </primitives:field.control>
        <primitives:field.error />
    </primitives:field.root>
    <primitives:form.submit />
</primitives:form.root>