# TanStackFormGroup

# Class: TanStackFormGroup\<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta\>

Defined in: [angular-form/src/tanstack-form-group.ts:34](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L34)

## Type Parameters

### TParentData

`TParentData`

### TName

`TName` *extends* `DeepKeys`\<`TParentData`\>

### TData

`TData` *extends* `DeepValue`\<`TParentData`, `TName`\>

### TOnMount

`TOnMount` *extends* `undefined` \| `FormGroupValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnChange

`TOnChange` *extends* `undefined` \| `FormGroupValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnChangeAsync

`TOnChangeAsync` *extends* 
  \| `undefined`
  \| `FormGroupAsyncValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnBlur

`TOnBlur` *extends* `undefined` \| `FormGroupValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnBlurAsync

`TOnBlurAsync` *extends* 
  \| `undefined`
  \| `FormGroupAsyncValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnSubmit

`TOnSubmit` *extends* `undefined` \| `FormGroupValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnSubmitAsync

`TOnSubmitAsync` *extends* 
  \| `undefined`
  \| `FormGroupAsyncValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnDynamic

`TOnDynamic` *extends* `undefined` \| `FormGroupValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TOnDynamicAsync

`TOnDynamicAsync` *extends* 
  \| `undefined`
  \| `FormGroupAsyncValidateOrFn`\<`TParentData`, `TName`, `TData`\>

### TSubmitMeta

`TSubmitMeta`

### TFormOnMount

`TFormOnMount` *extends* `undefined` \| `FormValidateOrFn`\<`TParentData`\>

### TFormOnChange

`TFormOnChange` *extends* `undefined` \| `FormValidateOrFn`\<`TParentData`\>

### TFormOnChangeAsync

`TFormOnChangeAsync` *extends* `undefined` \| `FormAsyncValidateOrFn`\<`TParentData`\>

### TFormOnBlur

`TFormOnBlur` *extends* `undefined` \| `FormValidateOrFn`\<`TParentData`\>

### TFormOnBlurAsync

`TFormOnBlurAsync` *extends* `undefined` \| `FormAsyncValidateOrFn`\<`TParentData`\>

### TFormOnSubmit

`TFormOnSubmit` *extends* `undefined` \| `FormValidateOrFn`\<`TParentData`\>

### TFormOnSubmitAsync

`TFormOnSubmitAsync` *extends* `undefined` \| `FormAsyncValidateOrFn`\<`TParentData`\>

### TFormOnDynamic

`TFormOnDynamic` *extends* `undefined` \| `FormValidateOrFn`\<`TParentData`\>

### TFormOnDynamicAsync

`TFormOnDynamicAsync` *extends* `undefined` \| `FormAsyncValidateOrFn`\<`TParentData`\>

### TFormOnServer

`TFormOnServer` *extends* `undefined` \| `FormAsyncValidateOrFn`\<`TParentData`\>

### TParentSubmitMeta

`TParentSubmitMeta`

## Implements

- `OnInit`

## Constructors

### Constructor

```ts
new TanStackFormGroup<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>(): TanStackFormGroup<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:303](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L303)

#### Returns

`TanStackFormGroup`\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TSubmitMeta`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`, `TFormOnServer`, `TParentSubmitMeta`\>

## Properties

### \_api

```ts
_api: Signal<FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:224](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L224)

***

### asyncAlways

```ts
asyncAlways: InputSignalWithTransform<boolean, unknown>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:79](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L79)

***

### asyncDebounceMs

```ts
asyncDebounceMs: InputSignalWithTransform<number, unknown>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:76](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L76)

***

### canSubmitWhenInvalid

```ts
canSubmitWhenInvalid: InputSignalWithTransform<boolean, unknown>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:82](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L82)

***

### cd

```ts
cd: ChangeDetectorRef;
```

Defined in: [angular-form/src/tanstack-form-group.ts:317](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L317)

***

### defaultMeta

```ts
defaultMeta: InputSignal<
  | Partial<FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>
| undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:125](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L125)

***

### defaultState

```ts
defaultState: InputSignal<Partial<FormGroupState> | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:154](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L154)

***

### defaultValue

```ts
defaultValue: InputSignal<NoInfer<TData> | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:75](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L75)

***

### injector

```ts
injector: Injector;
```

Defined in: [angular-form/src/tanstack-form-group.ts:301](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L301)

***

### listeners

```ts
listeners: InputSignal<
  | NoInfer<FormGroupListeners<TParentData, TName, TData>>
| undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:123](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L123)

***

### mode

```ts
mode: InputSignal<"value" | "array" | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:222](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L222)

***

### name

```ts
name: InputSignal<TName>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:74](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L74)

***

### onGroupSubmit

```ts
onGroupSubmit: InputSignal<NoInfer<(props) => any | undefined> | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:158](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L158)

***

### onGroupSubmitInvalid

```ts
onGroupSubmitInvalid: InputSignal<NoInfer<(props) => void | undefined> | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:190](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L190)

***

### onSubmitMeta

```ts
onSubmitMeta: InputSignal<NoInfer<TSubmitMeta> | undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:156](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L156)

***

### options

```ts
options: Signal<FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:257](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L257)

***

### tanstackFormGroup

```ts
tanstackFormGroup: InputSignal<FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:85](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L85)

***

### validators

```ts
validators: InputSignal<
  | NoInfer<FormGroupValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>
| undefined>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:103](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L103)

## Accessors

### api

#### Get Signature

```ts
get api(): FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
```

Defined in: [angular-form/src/tanstack-form-group.ts:228](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L228)

##### Returns

`FormGroupApi`\<`TParentData`, `TName`, `TData`, `TOnMount`, `TOnChange`, `TOnChangeAsync`, `TOnBlur`, `TOnBlurAsync`, `TOnSubmit`, `TOnSubmitAsync`, `TOnDynamic`, `TOnDynamicAsync`, `TSubmitMeta`, `TFormOnMount`, `TFormOnChange`, `TFormOnChangeAsync`, `TFormOnBlur`, `TFormOnBlurAsync`, `TFormOnSubmit`, `TFormOnSubmitAsync`, `TFormOnDynamic`, `TFormOnDynamicAsync`, `TFormOnServer`, `TParentSubmitMeta`\>

## Methods

### ngOnInit()

```ts
ngOnInit(): void;
```

Defined in: [angular-form/src/tanstack-form-group.ts:319](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-form-group.ts#L319)

A callback method that is invoked immediately after the
default change detector has checked the directive's
data-bound properties for the first time,
and before any of the view or content children have been checked.
It is invoked only once when the directive is instantiated.

#### Returns

`void`

#### Implementation of

```ts
OnInit.ngOnInit
```
