Form
form with consolidated error handling on Base UI
Loading...
Installation
pnpm dlx shadcn@latest add https://prototyper-ui.com/r/form.jsonnpx shadcn@latest add https://prototyper-ui.com/r/form.jsonyarn dlx shadcn@latest add https://prototyper-ui.com/r/form.jsonbunx --bun shadcn@latest add https://prototyper-ui.com/r/form.jsonThis will add the following files to your project:
components/ui/form.tsx
Usage
import { Form } from "@/components/ui/form"
<Form onFormSubmit={(formValues) => console.log(formValues)}>
{/* Field components */}
<button type="submit">Submit</button>
</Form>Examples
Server Errors
Loading...
Validation Modes
Loading...
Styling
Data Slots
Use data-slot attributes to target the form:
| Slot name | Element |
|---|---|
form | Root form element |
Customization Examples
/* Custom form layout */
[data-slot="form"] {
@apply gap-4;
}{/* Override gap spacing */}
<Form className="gap-8">
{/* ... */}
</Form>API Reference
Form
Root form element with consolidated error handling. Renders a <form> element.
Prop
Type
All Base UI Form props are forwarded via ...props.
Accessibility
ARIA Attributes
- Renders a native
<form>element with proper form semantics. - Error messages are associated with fields via
aria-describedby. aria-invalidis set on fields with validation errors.- The
errorsprop triggersaria-errormessageassociations on matching fields.