# Class RxapFormControl<T, E, Parent>

#### Type Parameters

- T = any
- E extends object = any
- Parent extends object = any

#### Hierarchy

- UntypedFormControl
  - RxapFormControl

- Defined in packages/angular/forms/src/lib/form-control.ts:44

#####
Index

### Constructors

constructor

### Properties

_onSetValue
_readonly
controlId
defaultValue
dirty$
dirtyChanges
disabled$
enabled$
errors
errors$
events
initialState
pristine
readonly$
stateChanges
status
status$
statusChanges
touch$
touchChanges
touched
value
value$
valueChanges

### Accessors

asyncValidator
controlPath
dirty
disabled
enabled
fullControlPath
invalid
parent
pending
readonly
root
rxapFormDefinition
untouched
updateOn
valid
validator

### Methods

addAsyncValidators
addValidators
clearAsyncValidators
clearValidators
disable
disabledWhile
enable
enabledWhile
get
getError
getRawValue
hasAsyncValidator
hasError
hasErrorAndDirty
hasErrorAndTouched
hasValidator
markAllAsDirty
markAllAsTouched
markAsDirty
markAsPending
markAsPristine
markAsTouched
markAsUntouched
mergeAsyncValidators
mergeValidators
patchValue
registerOnChange
registerOnDisabledChange
registerOnSetValue
removeAsyncValidators
removeValidators
reset
setAsyncValidators
setDisable
setEnable
setError
setErrors
setParent
setValidators
setValue
updateValueAndValidity
validateOn

## Constructors

### constructor

- new RxapFormControl<T, E, Parent>(formState, options): RxapFormControl<T, E, Parent>

- #### Type Parameters

  - T = any
  - E extends object = any
  - Parent extends object = any

  #### Parameters

  - formState: OrBoxedValue<T>
  - options: _RxapAbstractControlOptions & Record<string, any> & {
    controlId: string;
    }

  #### Returns RxapFormControl<T, E, Parent>

  Overrides UntypedFormControl.constructor

  - Defined in packages/angular/forms/src/lib/form-control.ts:125

## Properties

### `Private` `Readonly` _onSetValue

_onSetValue: SetValueFn<T>[] = []

- Defined in packages/angular/forms/src/lib/form-control.ts:96

### `Private` _readonly

_readonly: boolean = false

- Defined in packages/angular/forms/src/lib/form-control.ts:66

### `Readonly` controlId

controlId: string

- Defined in packages/angular/forms/src/lib/form-control.ts:94

### `Readonly` defaultValue

defaultValue: any

The default value of this FormControl, used whenever the control is reset without an explicit value. See FormControlOptions#nonNullable for more information on configuring a default value.

Inherited from UntypedFormControl.defaultValue

- Defined in node_modules/@angular/forms/index.d.ts:2194

### `Readonly` dirty$

dirty$: Observable<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:74

### `Private` dirtyChanges

dirtyChanges: Subject<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:69

### `Readonly` disabled$

disabled$: Observable<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:79

### `Readonly` enabled$

enabled$: Observable<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:80

### `Readonly` errors

errors: E

Overrides UntypedFormControl.errors

- Defined in packages/angular/forms/src/lib/form-control.ts:59

### `Readonly` errors$

errors$: Observable<E> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:92

### `Readonly` events

events: Observable<ControlEvent<any>>

A multicasting observable that emits an event every time the state of the control changes. It emits for value, status, pristine or touched changes.

Note: On value change, the emit happens right after a value of this control is updated. The value of a parent control (for example if this FormControl is a part of a FormGroup) is updated later, so accessing a value of a parent control (using the `value` property) from the callback of this event might result in getting a value that has not been updated yet. Subscribe to the `events` of the parent control instead. For other event types, the events are emitted after the parent control has been updated.

Inherited from UntypedFormControl.events

- Defined in node_modules/@angular/forms/index.d.ts:190

### `Readonly` initialState

initialState: OrBoxedValue<T>

- Defined in packages/angular/forms/src/lib/form-control.ts:65

### `Readonly` pristine

pristine: boolean

A control is `pristine` if the user has not yet changed the value in the UI.

#### Returns

True if the user has not yet changed the value in the UI; compare `dirty`. Programmatic changes to a control's value do not mark it dirty.

Inherited from UntypedFormControl.pristine

- Defined in node_modules/@angular/forms/index.d.ts:155

### `Readonly` readonly$

readonly$: Observable<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:99

### `Readonly` stateChanges

stateChanges: Subject<void> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:98

### `Readonly` status

status: ControlState

Overrides UntypedFormControl.status

- Defined in packages/angular/forms/src/lib/form-control.ts:63

### `Readonly` status$

status$: Observable<ControlState> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:91

### `Readonly` statusChanges

statusChanges: Observable<ControlState>

Overrides UntypedFormControl.statusChanges

- Defined in packages/angular/forms/src/lib/form-control.ts:64

### `Readonly` touch$

touch$: Observable<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:71

### `Private` touchChanges

touchChanges: Subject<boolean> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:68

### `Readonly` touched

touched: boolean

True if the control is marked as `touched`.

A control is marked `touched` once the user has triggered a `blur` event on it.

Inherited from UntypedFormControl.touched

- Defined in node_modules/@angular/forms/index.d.ts:170

### `Readonly` value

value: T

Overrides UntypedFormControl.value

- Defined in packages/angular/forms/src/lib/form-control.ts:58

### `Readonly` value$

value$: Observable<T> = ...

- Defined in packages/angular/forms/src/lib/form-control.ts:78

### `Readonly` valueChanges

valueChanges: Observable<T>

Overrides UntypedFormControl.valueChanges

- Defined in packages/angular/forms/src/lib/form-control.ts:62

## Accessors

### asyncValidator

- get asyncValidator(): AsyncValidatorFn

- Returns the function that is used to determine the validity of this control asynchronously. If multiple validators have been added, this will be a single composed function. See `Validators.compose()` for additional information.

  #### Returns AsyncValidatorFn

  Inherited from UntypedFormControl.asyncValidator

  - Defined in node_modules/@angular/forms/index.d.ts:79
- set asyncValidator(asyncValidatorFn): void

- #### Parameters

  - asyncValidatorFn: AsyncValidatorFn

  #### Returns void

  Inherited from UntypedFormControl.asyncValidator

  - Defined in node_modules/@angular/forms/index.d.ts:80

### controlPath

- get controlPath(): string

- #### Returns string

  - Defined in packages/angular/forms/src/lib/form-control.ts:101

### dirty

- get dirty(): boolean

- A control is `dirty` if the user has changed the value in the UI.

  #### Returns boolean

  True if the user has changed the value of this control in the UI; compare `pristine`. Programmatic changes to a control's value do not mark it dirty.

  Inherited from UntypedFormControl.dirty

  - Defined in node_modules/@angular/forms/index.d.ts:163

### disabled

- get disabled(): boolean

- A control is `disabled` when its `status` is `DISABLED`.

  Disabled controls are exempt from validation checks and are not included in the aggregate value of their ancestor controls.

  #### Returns boolean

  True if the control is disabled, false otherwise.

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.disabled

  - Defined in node_modules/@angular/forms/index.d.ts:132

### enabled

- get enabled(): boolean

- A control is `enabled` as long as its `status` is not `DISABLED`.

  #### Returns boolean

  True if the control has any status other than 'DISABLED', false if the status is 'DISABLED'.

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.enabled

  - Defined in node_modules/@angular/forms/index.d.ts:142

### fullControlPath

- get fullControlPath(): string

- #### Returns string

  - Defined in packages/angular/forms/src/lib/form-control.ts:115

### invalid

- get invalid(): boolean

- A control is `invalid` when its `status` is `INVALID`.

  #### Returns boolean

  True if this control has failed one or more of its validation checks, false otherwise.

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.invalid

  - Defined in node_modules/@angular/forms/index.d.ts:111

### parent

- get parent(): FormGroup<any> | FormArray<any>

- The parent control.

  #### Returns FormGroup<any> | FormArray<any>

  Inherited from UntypedFormControl.parent

  - Defined in node_modules/@angular/forms/index.d.ts:84

### pending

- get pending(): boolean

- A control is `pending` when its `status` is `PENDING`.

  #### Returns boolean

  True if this control is in the process of conducting a validation check, false otherwise.

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.pending

  - Defined in node_modules/@angular/forms/index.d.ts:120

### readonly

- get readonly(): boolean

- #### Returns boolean

  - Defined in packages/angular/forms/src/lib/form-control.ts:82
- set readonly(value): void

- #### Parameters

  - value: boolean

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:86

### root

- get root(): AbstractControl<any, any>

- Retrieves the top-level ancestor of this control.

  #### Returns AbstractControl<any, any>

  Inherited from UntypedFormControl.root

  - Defined in node_modules/@angular/forms/index.d.ts:674

### rxapFormDefinition

- get rxapFormDefinition(): Partial<FormDefinition<Parent, any, any>> & {
  [K in string | number | symbol]: Parent[K] extends U[]
  ? FormDefinitionArray<FormType<U>> | FormDefinitionArray<RxapFormControl<U, any, any>> | RxapFormArray<U, any, any> | RxapFormControl<any[any], any, any>
  : Parent[K] extends Record<string, any>
  ? Partial<FormDefinition<Parent[K], any, any>> & {
  [K in string | number | symbol]: Parent[K][K] extends U[]
  ? FormDefinitionArray<FormType<(...)>> | FormDefinitionArray<RxapFormControl<(...), (...), (...)>> | RxapFormArray<U, any, any> | RxapFormControl<any[any], any, any>
  : (...)[(...)][K] extends Record<string, any>
  ? (...) & (...) & (...) | RxapFormControl<(...), (...), (...)>
  : RxapFormControl<NonEmpty<(...)>, any, any>
  } & Partial<FormDefinition<Parent[K], any, any>> | RxapFormControl<Parent[K], any, any>
  : RxapFormControl<NonEmpty<Parent[K]>, any, any>
  } & FormDefinition<Parent, any, any>
- `Internal`

  #### Returns Partial<FormDefinition<Parent, any, any>> & {
  [K in string | number | symbol]: Parent[K] extends U[]
  ? FormDefinitionArray<FormType<U>> | FormDefinitionArray<RxapFormControl<U, any, any>> | RxapFormArray<U, any, any> | RxapFormControl<any[any], any, any>
  : Parent[K] extends Record<string, any>
  ? Partial<FormDefinition<Parent[K], any, any>> & {
  [K in string | number | symbol]: Parent[K][K] extends U[]
  ? FormDefinitionArray<FormType<(...)>> | FormDefinitionArray<RxapFormControl<(...), (...), (...)>> | RxapFormArray<U, any, any> | RxapFormControl<any[any], any, any>
  : (...)[(...)][K] extends Record<string, any>
  ? (...) & (...) & (...) | RxapFormControl<(...), (...), (...)>
  : RxapFormControl<NonEmpty<(...)>, any, any>
  } & Partial<FormDefinition<Parent[K], any, any>> | RxapFormControl<Parent[K], any, any>
  : RxapFormControl<NonEmpty<Parent[K]>, any, any>
  } & FormDefinition<Parent, any, any>

  - Defined in packages/angular/forms/src/lib/form-control.ts:52

### untouched

- get untouched(): boolean

- True if the control has not been marked as touched

  A control is `untouched` if the user has not yet triggered a `blur` event on it.

  #### Returns boolean

  Inherited from UntypedFormControl.untouched

  - Defined in node_modules/@angular/forms/index.d.ts:177

### updateOn

- get updateOn(): FormHooks

- Reports the update strategy of the `AbstractControl` (meaning the event on which the control updates itself). Possible values: `'change'` | `'blur'` | `'submit'` Default value: `'change'`

  #### Returns FormHooks

  Inherited from UntypedFormControl.updateOn

  - Defined in node_modules/@angular/forms/index.d.ts:221

### valid

- get valid(): boolean

- A control is `valid` when its `status` is `VALID`.

  #### Returns boolean

  True if the control has passed all of its validation tests, false otherwise.

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.valid

  - Defined in node_modules/@angular/forms/index.d.ts:102

### validator

- get validator(): ValidatorFn

- Returns the function that is used to determine the validity of this control synchronously. If multiple validators have been added, this will be a single composed function. See `Validators.compose()` for additional information.

  #### Returns ValidatorFn

  Inherited from UntypedFormControl.validator

  - Defined in node_modules/@angular/forms/index.d.ts:72
- set validator(validatorFn): void

- #### Parameters

  - validatorFn: ValidatorFn

  #### Returns void

  Inherited from UntypedFormControl.validator

  - Defined in node_modules/@angular/forms/index.d.ts:73

## Methods

### addAsyncValidators

- addAsyncValidators(validators): void

- Add an asynchronous validator or validators to this control, without affecting other validators.

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  Adding a validator that already exists will have no effect.

  #### Parameters

  - validators: AsyncValidatorFn | AsyncValidatorFn[]

    The new asynchronous validator function or functions to add to this control.

  #### Returns void

  Inherited from UntypedFormControl.addAsyncValidators

  - Defined in node_modules/@angular/forms/index.d.ts:268

### addValidators

- addValidators(validators): void

- Add a synchronous validator or validators to this control, without affecting other validators.

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  Adding a validator that already exists will have no effect. If duplicate validator functions are present in the `validators` array, only the first instance would be added to a form control.

  #### Parameters

  - validators: ValidatorFn | ValidatorFn[]

    The new validator function or functions to add to this control.

  #### Returns void

  Inherited from UntypedFormControl.addValidators

  - Defined in node_modules/@angular/forms/index.d.ts:256

### clearAsyncValidators

- clearAsyncValidators(): void

- Empties out the async validator list.

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  #### Returns void

  Inherited from UntypedFormControl.clearAsyncValidators

  - Defined in node_modules/@angular/forms/index.d.ts:359

### clearValidators

- clearValidators(): void

- Empties out the synchronous validator list.

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  #### Returns void

  Inherited from UntypedFormControl.clearValidators

  - Defined in node_modules/@angular/forms/index.d.ts:351

### disable

- disable(opts?): void

- Disables the control. This means the control is exempt from validation checks and excluded from the aggregate value of any parent. Its status is `DISABLED`.

  If the control has children, all children are also disabled.

  #### Parameters

  - `Optional` opts: {
    emitEvent?: boolean;
    onlySelf?: boolean;
    }

    Configuration options that determine how the control propagates changes and emits events after the control is disabled.

    - `onlySelf`: When true, mark only this control. When false or not supplied, marks all direct ancestors. Default is false.
    - `emitEvent`: When true or not supplied (the default), the `statusChanges`, `valueChanges` and `events` observables emit events with the latest status and value when the control is disabled. When false, no events are emitted.

    - ##### `Optional` emitEvent?: boolean

    - ##### `Optional` onlySelf?: boolean

  #### Returns void

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.disable

  - Defined in node_modules/@angular/forms/index.d.ts:496

### disabledWhile

- disabledWhile(observable, options?): Subscription

- #### Parameters

  - observable: Observable<boolean>
  - `Optional` options: ControlOptions

  #### Returns Subscription

  - Defined in packages/angular/forms/src/lib/form-control.ts:180

### enable

- enable(opts?): void

- Enables the control. This means the control is included in validation checks and the aggregate value of its parent. Its status recalculates based on its value and its validators.

  By default, if the control has children, all children are enabled.

  #### Parameters

  - `Optional` opts: {
    emitEvent?: boolean;
    onlySelf?: boolean;
    }

    Configure options that control how the control propagates changes and emits events when marked as untouched

    - `onlySelf`: When true, mark only this control. When false or not supplied, marks all direct ancestors. Default is false.
    - `emitEvent`: When true or not supplied (the default), the `statusChanges`, `valueChanges` and `events` observables emit events with the latest status and value when the control is enabled. When false, no events are emitted.

    - ##### `Optional` emitEvent?: boolean

    - ##### `Optional` onlySelf?: boolean

  #### Returns void

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.enable

  - Defined in node_modules/@angular/forms/index.d.ts:518

### enabledWhile

- enabledWhile(observable, options?): Subscription

- #### Parameters

  - observable: Observable<boolean>
  - `Optional` options: ControlOptions

  #### Returns Subscription

  - Defined in packages/angular/forms/src/lib/form-control.ts:187

### get

- get<P>(path): AbstractControl<ɵGetProperty<any, P>, ɵGetProperty<any, P>>

- Retrieves a child control given the control's name or path.

  This signature for get supports strings and `const` arrays (`.get(['foo', 'bar'] as const)`).

  #### Type Parameters

  - P extends string | readonly (string | number)[]

  #### Parameters

  - path: P

  #### Returns AbstractControl<ɵGetProperty<any, P>, ɵGetProperty<any, P>>

  Inherited from UntypedFormControl.get

  - Defined in node_modules/@angular/forms/index.d.ts:604
- get<P>(path): AbstractControl<ɵGetProperty<any, P>, ɵGetProperty<any, P>>

- Retrieves a child control given the control's name or path.

  This signature for `get` supports non-const (mutable) arrays. Inferred type information will not be as robust, so prefer to pass a `readonly` array if possible.

  #### Type Parameters

  - P extends string | (string | number)[]

  #### Parameters

  - path: P

  #### Returns AbstractControl<ɵGetProperty<any, P>, ɵGetProperty<any, P>>

  Inherited from UntypedFormControl.get

  - Defined in node_modules/@angular/forms/index.d.ts:611

### getError

- getError<K>(errorCode): E[K]

- #### Type Parameters

  - K extends string

  #### Parameters

  - errorCode: K

  #### Returns E[K]

  Overrides UntypedFormControl.getError

  - Defined in packages/angular/forms/src/lib/form-control.ts:268

### getRawValue

- getRawValue(): any

- For a simple FormControl, the raw value is equivalent to the value.

  #### Returns any

  Inherited from UntypedFormControl.getRawValue

  - Defined in node_modules/@angular/forms/index.d.ts:2279

### hasAsyncValidator

- hasAsyncValidator(validator): boolean

- Check whether an asynchronous validator function is present on this control. The provided validator must be a reference to the exact same function that was provided.

  #### Parameters

  - validator: AsyncValidatorFn

    The asynchronous validator to check for presence. Compared by function reference.

  #### Returns boolean

  Whether the provided asynchronous validator was found on this control.

  Inherited from UntypedFormControl.hasAsyncValidator

  - Defined in node_modules/@angular/forms/index.d.ts:343

### hasError

- hasError<K>(errorCode): boolean

- #### Type Parameters

  - K extends string

  #### Parameters

  - errorCode: K

  #### Returns boolean

  Overrides UntypedFormControl.hasError

  - Defined in packages/angular/forms/src/lib/form-control.ts:272

### hasErrorAndDirty

- hasErrorAndDirty(error): boolean

- #### Parameters

  - error: ExtractStrings<E>

  #### Returns boolean

  - Defined in packages/angular/forms/src/lib/form-control.ts:288

### hasErrorAndTouched

- hasErrorAndTouched(error): boolean

- #### Parameters

  - error: ExtractStrings<E>

  #### Returns boolean

  - Defined in packages/angular/forms/src/lib/form-control.ts:284

### hasValidator

- hasValidator(validator): boolean

- Check whether a synchronous validator function is present on this control. The provided validator must be a reference to the exact same function that was provided.

  #### Parameters

  - validator: ValidatorFn

    The validator to check for presence. Compared by function reference.

  #### Returns boolean

  Whether the provided validator was found on this control.

  #### Usage Notes

  ### Reference to a ValidatorFn

      // Reference to the RequiredValidator
      const ctrl = new FormControl<number | null>(0, Validators.required);
      expect(ctrl.hasValidator(Validators.required)).toEqual(true)

      // Reference to anonymous function inside MinValidator
      const minValidator = Validators.min(3);
      const ctrl = new FormControl<number | null>(0, minValidator);
      expect(ctrl.hasValidator(minValidator)).toEqual(true)
      expect(ctrl.hasValidator(Validators.min(3))).toEqual(false)

  Inherited from UntypedFormControl.hasValidator

  - Defined in node_modules/@angular/forms/index.d.ts:334

### markAllAsDirty

- markAllAsDirty(): void

- #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:227

### markAllAsTouched

- markAllAsTouched(opts?): void

- Marks the control and all its descendant controls as `touched`.

  #### Parameters

  - `Optional` opts: {
    emitEvent?: boolean;
    }

    Configuration options that determine how the control propagates changes and emits events after marking is applied.

    - `emitEvent`: When true or not supplied (the default), the `events` observable emits a `TouchedChangeEvent` with the `touched` property being `true`. When false, no events are emitted.

    - ##### `Optional` emitEvent?: boolean

  #### Returns void

  #### See

  ()

  Inherited from UntypedFormControl.markAllAsTouched

  - Defined in node_modules/@angular/forms/index.d.ts:390

### markAsDirty

- markAsDirty(opts?): void

- #### Parameters

  - `Optional` opts: OnlySelf

  #### Returns void

  Overrides UntypedFormControl.markAsDirty

  - Defined in packages/angular/forms/src/lib/form-control.ts:222

### markAsPending

- markAsPending(opts?): void

- Marks the control as `pending`.

  A control is pending while the control performs async validation.

  #### Parameters

  - `Optional` opts: {
    emitEvent?: boolean;
    onlySelf?: boolean;
    }

    Configuration options that determine how the control propagates changes and emits events after marking is applied.

    - `onlySelf`: When true, mark only this control. When false or not supplied, marks all direct ancestors. Default is false.
    - `emitEvent`: When true or not supplied (the default), the `statusChanges` observable emits an event with the latest status the control is marked pending and the `events` observable emits a `StatusChangeEvent` with the `status` property being `PENDING` When false, no events are emitted.

    - ##### `Optional` emitEvent?: boolean

    - ##### `Optional` onlySelf?: boolean

  #### Returns void

  #### See

  AbstractControl.status

  Inherited from UntypedFormControl.markAsPending

  - Defined in node_modules/@angular/forms/index.d.ts:475

### markAsPristine

- markAsPristine(opts?): void

- #### Parameters

  - `Optional` opts: OnlySelf

  #### Returns void

  Overrides UntypedFormControl.markAsPristine

  - Defined in packages/angular/forms/src/lib/form-control.ts:217

### markAsTouched

- markAsTouched(opts?): void

- #### Parameters

  - `Optional` opts: OnlySelf

  #### Returns void

  Overrides UntypedFormControl.markAsTouched

  - Defined in packages/angular/forms/src/lib/form-control.ts:207

### markAsUntouched

- markAsUntouched(opts?): void

- #### Parameters

  - `Optional` opts: OnlySelf

  #### Returns void

  Overrides UntypedFormControl.markAsUntouched

  - Defined in packages/angular/forms/src/lib/form-control.ts:212

### mergeAsyncValidators

- mergeAsyncValidators(validators): void

- #### Parameters

  - validators: AsyncValidator

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:198

### mergeValidators

- mergeValidators(validators): void

- #### Parameters

  - validators: Validator

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:194

### patchValue

- patchValue(valueOrObservable, options?): Subscription

- #### Parameters

  - valueOrObservable: Observable<T>
  - `Optional` options: ControlOptions

  #### Returns Subscription

  Overrides UntypedFormControl.patchValue

  - Defined in packages/angular/forms/src/lib/form-control.ts:162
- patchValue(valueOrObservable, options?): void

- #### Parameters

  - valueOrObservable: T
  - `Optional` options: ControlOptions

  #### Returns void

  Overrides UntypedFormControl.patchValue

  - Defined in packages/angular/forms/src/lib/form-control.ts:166

### registerOnChange

- registerOnChange(fn): void

- Register a listener for change events.

  #### Parameters

  - fn: Function

    The method that is called when the value changes

  #### Returns void

  Inherited from UntypedFormControl.registerOnChange

  - Defined in node_modules/@angular/forms/index.d.ts:2285

### registerOnDisabledChange

- registerOnDisabledChange(fn): void

- Register a listener for disabled events.

  #### Parameters

  - fn: ((isDisabled) => void)

    The method that is called when the disabled status changes.

    - - (isDisabled): void

      - #### Parameters

        - isDisabled: boolean

        #### Returns void

  Inherited from UntypedFormControl.registerOnDisabledChange

  - Defined in node_modules/@angular/forms/index.d.ts:2291

### registerOnSetValue

- registerOnSetValue(setValueFn): void

- #### Parameters

  - setValueFn: SetValueFn<T>

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:300

### removeAsyncValidators

- removeAsyncValidators(validators): void

- Remove an asynchronous validator from this control, without affecting other validators. Validators are compared by function reference; you must pass a reference to the exact same validator function as the one that was originally set. If a provided validator is not found, it is ignored.

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  #### Parameters

  - validators: AsyncValidatorFn | AsyncValidatorFn[]

    The asynchronous validator or validators to remove.

  #### Returns void

  Inherited from UntypedFormControl.removeAsyncValidators

  - Defined in node_modules/@angular/forms/index.d.ts:310

### removeValidators

- removeValidators(validators): void

- Remove a synchronous validator from this control, without affecting other validators. Validators are compared by function reference; you must pass a reference to the exact same validator function as the one that was originally set. If a provided validator is not found, it is ignored.

  #### Parameters

  - validators: ValidatorFn | ValidatorFn[]

    The validator or validators to remove.

  #### Returns void

  #### Usage Notes

  ### Reference to a ValidatorFn

      // Reference to the RequiredValidator
      const ctrl = new FormControl<string | null>('', Validators.required);
      ctrl.removeValidators(Validators.required);

      // Reference to anonymous function inside MinValidator
      const minValidator = Validators.min(3);
      const ctrl = new FormControl<string | null>('', minValidator);
      expect(ctrl.hasValidator(minValidator)).toEqual(true)
      expect(ctrl.hasValidator(Validators.min(3))).toEqual(false)

      ctrl.removeValidators(minValidator);

  When you add or remove a validator at run time, you must call `updateValueAndValidity()` for the new validation to take effect.

  Inherited from UntypedFormControl.removeValidators

  - Defined in node_modules/@angular/forms/index.d.ts:298

### reset

- reset(formState?, options?): void

- #### Parameters

  - `Optional` formState: OrBoxedValue<T>
  - `Optional` options: ControlEventOptions

  #### Returns void

  Overrides UntypedFormControl.reset

  - Defined in packages/angular/forms/src/lib/form-control.ts:231

### setAsyncValidators

- setAsyncValidators(newValidator, updateValueAndValidity?): void

- #### Parameters

  - newValidator: AsyncValidator
  - updateValueAndValidity: boolean = true

  #### Returns void

  Overrides UntypedFormControl.setAsyncValidators

  - Defined in packages/angular/forms/src/lib/form-control.ts:254

### setDisable

- setDisable(disable?, opts?): void

- #### Parameters

  - disable: boolean = true
  - `Optional` opts: ControlEventOptions

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:296

### setEnable

- setEnable(enable?, opts?): void

- #### Parameters

  - enable: boolean = true
  - `Optional` opts: ControlEventOptions

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:292

### setError

- setError(key, value, opts?): void

- #### Parameters

  - key: string
  - value: any
  - opts: EmitEvent = {}

  #### Returns void

  - Defined in packages/angular/forms/src/lib/form-control.ts:280

### setErrors

- setErrors(errors, opts?): void

- #### Parameters

  - errors: Partial<E>
  - opts: EmitEvent = {}

  #### Returns void

  Overrides UntypedFormControl.setErrors

  - Defined in packages/angular/forms/src/lib/form-control.ts:276

### setParent

- setParent(parent): void

- Sets the parent of the control

  #### Parameters

  - parent: FormGroup<any> | FormArray<any>

    The new parent.

  #### Returns void

  Inherited from UntypedFormControl.setParent

  - Defined in node_modules/@angular/forms/index.d.ts:528

### setValidators

- setValidators(newValidator, updateValueAndValidity?): void

- #### Parameters

  - newValidator: Validator
  - updateValueAndValidity: boolean = true

  #### Returns void

  Overrides UntypedFormControl.setValidators

  - Defined in packages/angular/forms/src/lib/form-control.ts:244

### setValue

- setValue(valueOrObservable, options?): Subscription

- #### Parameters

  - valueOrObservable: Observable<T>
  - `Optional` options: ControlOptions

  #### Returns Subscription

  Overrides UntypedFormControl.setValue

  - Defined in packages/angular/forms/src/lib/form-control.ts:140
- setValue(valueOrObservable, options?): void

- #### Parameters

  - valueOrObservable: T
  - `Optional` options: ControlOptions

  #### Returns void

  Overrides UntypedFormControl.setValue

  - Defined in packages/angular/forms/src/lib/form-control.ts:144

### updateValueAndValidity

- updateValueAndValidity(opts?): void

- Recalculates the value and validation status of the control.

  By default, it also updates the value and validity of its ancestors.

  #### Parameters

  - `Optional` opts: {
    emitEvent?: boolean;
    onlySelf?: boolean;
    }

    Configuration options determine how the control propagates changes and emits events after updates and validity checks are applied.

    - `onlySelf`: When true, only update this control. When false or not supplied, update all direct ancestors. Default is false.
    - `emitEvent`: When true or not supplied (the default), the `statusChanges`, `valueChanges` and `events` observables emit events with the latest status and value when the control is updated. When false, no events are emitted.

    - ##### `Optional` emitEvent?: boolean

    - ##### `Optional` onlySelf?: boolean

  #### Returns void

  Inherited from UntypedFormControl.updateValueAndValidity

  - Defined in node_modules/@angular/forms/index.d.ts:560

### validateOn

- validateOn(observableValidation): Subscription

- #### Parameters

  - observableValidation: Observable<object>

  #### Returns Subscription

  - Defined in packages/angular/forms/src/lib/form-control.ts:264