# FormControl

Wrapper for form control elements with accessibility attributes

## FormControl[​](#formcontrol-1 "Direct link to FormControl")

Wrapper for form control elements with accessibility attributes

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props "Direct link to Props")

This component extends standard HTML element attributes.

### Usage[​](#usage "Direct link to Usage")

```tsx
import { FormControl } from '@databricks/appkit-ui';

<FormControl /* props */ />

```

## FormDescription[​](#formdescription "Direct link to FormDescription")

Helper text providing guidance for a form field

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props-1 "Direct link to Props")

This component extends standard HTML element attributes.

### Usage[​](#usage-1 "Direct link to Usage")

```tsx
import { FormDescription } from '@databricks/appkit-ui';

<FormDescription /* props */ />

```

## FormField[​](#formfield "Direct link to FormField")

Controlled field component for react-hook-form integration

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props-2 "Direct link to Props")

| Prop               | Type                                                                                                                                                                                              | Required | Default | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ----------- |
| `render`           | `({ field, fieldState, formState, }: { field: ControllerRenderProps<TFieldValues, TName>; fieldState: ControllerFieldState; formState: UseFormStateReturn<TFieldValues>; }) => ReactElement<...>` | ✓        | -       | -           |
| `name`             | `string`                                                                                                                                                                                          | ✓        | -       | -           |
| `rules`            | `Omit<RegisterOptions<TFieldValues, TName>, "disabled" \| "valueAsNumber" \| "valueAsDate" \| "setValueAs">`                                                                                      |          | -       | -           |
| `shouldUnregister` | `boolean`                                                                                                                                                                                         |          | -       | -           |
| `defaultValue`     | `any`                                                                                                                                                                                             |          | -       | -           |
| `control`          | `Control<TFieldValues, any, TFieldValues>`                                                                                                                                                        |          | -       | -           |
| `disabled`         | `boolean`                                                                                                                                                                                         |          | -       | -           |
| `exact`            | `boolean`                                                                                                                                                                                         |          | -       | -           |

### Usage[​](#usage-2 "Direct link to Usage")

```tsx
import { FormField } from '@databricks/appkit-ui';

<FormField /* props */ />

```

## FormItem[​](#formitem "Direct link to FormItem")

Container for a single form field with label and messages

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props-3 "Direct link to Props")

This component extends standard HTML element attributes.

### Usage[​](#usage-3 "Direct link to Usage")

```tsx
import { FormItem } from '@databricks/appkit-ui';

<FormItem /* props */ />

```

## FormLabel[​](#formlabel "Direct link to FormLabel")

Label for a form field with error state styling

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props-4 "Direct link to Props")

| Prop      | Type      | Required | Default | Description |
| --------- | --------- | -------- | ------- | ----------- |
| `asChild` | `boolean` |          | -       | -           |

### Usage[​](#usage-4 "Direct link to Usage")

```tsx
import { FormLabel } from '@databricks/appkit-ui';

<FormLabel /* props */ />

```

## FormMessage[​](#formmessage "Direct link to FormMessage")

Validation error message for a form field

**Source:** [`packages/appkit-ui/src/react/ui/form.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/form.tsx)

### Props[​](#props-5 "Direct link to Props")

This component extends standard HTML element attributes.

### Usage[​](#usage-5 "Direct link to Usage")

```tsx
import { FormMessage } from '@databricks/appkit-ui';

<FormMessage /* props */ />

```
