# CustomToolbarFormContext

Canonical page: https://www.adaptabletools.com/docs/reference/customtoolbarformcontext

Context provided to  and to any
Adaptable Buttons declared on a .

It extends  with the current `formData`
value, the form&#39;s overall validity (`formIsValid`) and any per-field
validation errors (`formErrors`), so handlers can react to - or gate on -
the current state of the controls rendered in the toolbar.

```ts title="TypeScript"
export interface CustomToolbarFormContext<TData extends AdaptableFormData = AdaptableFormData> extends CustomToolbarButtonContext 
```

###### Extends

[`CustomToolbarButtonContext`](https://www.adaptabletools.com/docs/reference/customtoolbarbuttoncontext.md)

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [formData](https://www.adaptabletools.com/docs/reference/customtoolbarformcontext.md#formdata) | `TData` | Current values of the form fields, keyed by field `name`. Strongly<br/>typed as `TData` when the hosting `CustomToolbar` supplies an explicit<br/>data shape. |
| [formErrors](https://www.adaptabletools.com/docs/reference/customtoolbarformcontext.md#formerrors) | [`AdaptableFormErrors`](https://www.adaptabletools.com/docs/reference/adaptableformerrors.md) | Per-field validation errors keyed by field `name`. Empty when the form<br/>is valid. |
| [formIsValid](https://www.adaptabletools.com/docs/reference/customtoolbarformcontext.md#formisvalid) | `boolean` | `true` when every (non-hidden) field&#39;s value satisfies its validation<br/>rules (`required`, `min`, `max`, `pattern`, custom `validate`). |
| [adaptableContext](https://www.adaptabletools.com/docs/reference/customtoolbarformcontext.md#adaptablecontext) | `any` | Custom application Context provided in `AdaptableOptions.adaptableContext` |

## Property Details

### formData

Current values of the form fields, keyed by field `name`. Strongly
typed as `TData` when the hosting `CustomToolbar` supplies an explicit
data shape.

```ts title="TypeScript"
formData: TData;
```

###### Property Value

`TData`

### formErrors

Per-field validation errors keyed by field `name`. Empty when the form
is valid.

```ts title="TypeScript"
formErrors: AdaptableFormErrors;
```

###### Property Value

[`AdaptableFormErrors`](https://www.adaptabletools.com/docs/reference/adaptableformerrors.md)

### formIsValid

`true` when every (non-hidden) field&#39;s value satisfies its validation
rules (`required`, `min`, `max`, `pattern`, custom `validate`).

```ts title="TypeScript"
formIsValid: boolean;
```

###### Property Value

`boolean`

### adaptableContext

> *Inherited from [BaseContext](https://www.adaptabletools.com/docs/reference/basecontext.md)*

Custom application Context provided in `AdaptableOptions.adaptableContext`

```ts title="TypeScript"
adaptableContext: any;
```

###### Property Value

`any`
