Skip to content

FieldControlProps

Defined in: packages/core/src/fields/types.ts:144

Props passed to an admin.components.Input override’s replacement control — the raw control only, after the app form’s FormFieldLayout has already resolved the label/description/error layout around it (decision 5). Narrower than FieldComponentProps: an Input override never needs fieldDef, collection or documentStatus — it receives exactly what a @vexcms/react/form field component’s renderControl prop hands its control.

FieldComponentProps for the whole-field override’s props

TValue = unknown

describedBy: string | undefined

Defined in: packages/core/src/fields/types.ts:158

The control’s aria-describedby value — the admin app form’s FormFieldLayout/fieldDescribedBy-equivalent description/error ids for this control’s id; undefined when neither applies.


id: string

Defined in: packages/core/src/fields/types.ts:146

The control’s DOM id — matches the layout’s <label htmlFor>.


invalid: boolean

Defined in: packages/core/src/fields/types.ts:156

Whether the field is currently showing a validation error — sets aria-invalid.


onBlur: () => void

Defined in: packages/core/src/fields/types.ts:152

Marks the form field as touched — wire to the control’s native onBlur.

void


onChange: (value) => void

Defined in: packages/core/src/fields/types.ts:150

Commits a new value to the form field.

TValue

void


readOnly: boolean

Defined in: packages/core/src/fields/types.ts:154

Whether the control is non-editable.


value: TValue

Defined in: packages/core/src/fields/types.ts:148

The control’s current value.