# createInput API

> Auto-generated API reference for `createInput` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/create-input

## Related

- https://0.vuetifyjs.com/composables/forms/create-input
- https://0.vuetifyjs.com/composables/forms/create-validation
- https://0.vuetifyjs.com/composables/forms/create-form
- https://0.vuetifyjs.com/components/forms/input

## Functions

### createInput

```ts
(options: InputOptions<T>) => InputContext<T>
```

## Options

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `value` | `Ref<T, T>` | — | yes | Value source — caller owns this ref. |
| `id` | `ID \| undefined` | — | no | Unique identifier (auto-generated if omitted). |
| `label` | `string \| undefined` | — | no | Display label. |
| `name` | `string \| undefined` | — | no | Form field name. |
| `form` | `string \| undefined` | — | no | Associate with form by ID. |
| `required` | `boolean \| undefined` | — | no | Whether required. |
| `disabled` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Disabled state. |
| `readonly` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Readonly state. |
| `rules` | `(string \| FormValidationRule \| StandardSchemaV1)[] \| undefined` | — | no | Validation rules. |
| `error` | `MaybeRefOrGetter<boolean> \| undefined` | — | no | Manual error state override — forces invalid. |
| `errorMessages` | `MaybeRefOrGetter<MaybeArray<string> \| undefined>` | — | no | Manual error messages — merged with rule-based errors. |
| `dirty` | `((value: T) => boolean) \| undefined` | — | no | Predicate for "has content". |
| `equals` | `((a: T, b: T) => boolean) \| undefined` | `===` | no | Equality check for pristine tracking. |

## Methods

| Name | Type | Description |
|---|---|---|
| `validate` | `() => Promise<boolean>` | — |
| `reset` | `() => void` | — |

## Properties

| Name | Type | Description |
|---|---|---|
| `id` | `ID` | — |
| `label` | `string \| undefined` | — |
| `name` | `string \| undefined` | — |
| `form` | `string \| undefined` | — |
| `required` | `boolean \| undefined` | — |
| `descriptionId` | `string` | — |
| `errorId` | `string` | — |
| `descriptions` | `RegistryContext<import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicketInput<unknown>, import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicket<unknown> & import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicketInput<unknown>>` | — |
| `fieldErrors` | `RegistryContext<import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicketInput<unknown>, import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicket<unknown> & import("/home/runner/work/0/0/packages/0/src/composables/createRegistry/index").RegistryTicketInput<unknown>>` | — |
| `hasDescription` | `Readonly<Ref<boolean, boolean>>` | — |
| `hasError` | `Readonly<Ref<boolean, boolean>>` | — |
| `value` | `Ref<T, T>` | — |
| `isDirty` | `Readonly<Ref<boolean, boolean>>` | — |
| `isFocused` | `ShallowRef<boolean>` | — |
| `isDisabled` | `Readonly<Ref<boolean, boolean>>` | — |
| `isReadonly` | `Readonly<Ref<boolean, boolean>>` | — |
| `isPristine` | `Readonly<Ref<boolean, boolean>>` | — |
| `isTouched` | `ShallowRef<boolean>` | — |
| `errors` | `Readonly<Ref<string[], string[]>>` | — |
| `isValid` | `Readonly<Ref<boolean \| null, boolean \| null>>` | — |
| `isValidating` | `Readonly<Ref<boolean, boolean>>` | — |
| `state` | `Readonly<Ref<InputState, InputState>>` | — |
