Spec-Zone.ru › Angular

FormRecord

Отслеживает значение и состояние валидности коллекции экземпляров FormControl, каждый из которых имеет один и тот же тип значения.

FormGroup и FormRecord

API

class FormRecord<TControl extends AbstractControl = AbstractControl> extends FormGroup<{
  [key: string]: TControl;
}> {
  override registerControl(name: string, control: TControl): TControl;
  override addControl(name: string, control: TControl, options?: { emitEvent?: boolean | undefined; } | undefined): void;
  override removeControl(name: string, options?: { emitEvent?: boolean | undefined; } | undefined): void;
  override setControl(name: string, control: TControl, options?: { emitEvent?: boolean | undefined; } | undefined): void;
  override contains(controlName: string): boolean;
  override setValue(value: { [key: string]: ɵRawValue<TControl>; }, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override patchValue(value: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override reset(value?: { [key: string]: ɵValue<TControl> | FormControlState<ɵValue<TControl>>; } | undefined, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override getRawValue(): { [key: string]: ɵRawValue<TControl>; };
  override controls: ɵTypedOrUntyped<TControl, TControl, { [key: string]: AbstractControl<any, any, any>; }>;
  readonly override value: TValue;
  override get validator(): ValidatorFn | null;
  override get asyncValidator(): AsyncValidatorFn | null;
  override readonly parent: FormGroup<any> | FormArray<any> | null;
  override readonly status: FormControlStatus;
  override readonly valid: boolean;
  override readonly invalid: boolean;
  override readonly pending: boolean;
  override readonly disabled: boolean;
  override readonly enabled: boolean;
  readonly override errors: ValidationErrors | null;
  override readonly pristine: boolean;
  override readonly dirty: boolean;
  override readonly touched: boolean;
  override readonly untouched: boolean;
  readonly override events: any;
  readonly override valueChanges: Observable<TValue>;
  readonly override statusChanges: Observable<FormControlStatus>;
  override readonly updateOn: FormHooks;
  override setValidators(validators: ValidatorFn | ValidatorFn[] | null): void;
  override setAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[] | null): void;
  override addValidators(validators: ValidatorFn | ValidatorFn[]): void;
  override addAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void;
  override removeValidators(validators: ValidatorFn | ValidatorFn[]): void;
  override removeAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void;
  override hasValidator(validator: ValidatorFn): boolean;
  override hasAsyncValidator(validator: AsyncValidatorFn): boolean;
  override clearValidators(): void;
  override clearAsyncValidators(): void;
  override markAsTouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override markAsTouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; } | undefined): void;
  override markAllAsDirty(opts?: { emitEvent?: boolean | undefined; }): void;
  override markAllAsTouched(opts?: { emitEvent?: boolean | undefined; }): void;
  override markAsUntouched(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override markAsUntouched(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override markAsDirty(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override markAsDirty(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override markAsPristine(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override markAsPristine(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override markAsPending(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override markAsPending(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override disable(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override disable(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override enable(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }): void;
  override setParent(parent: FormGroup<any> | FormArray<any> | null): void;
  override updateValueAndValidity(opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
  override updateValueAndValidity(opts: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }): void;
  override setErrors(errors: ValidationErrors | null, opts?: { emitEvent?: boolean | undefined; } | undefined): void;
  override setErrors(errors: ValidationErrors | null, opts?: { emitEvent?: boolean | undefined; shouldHaveEmitted?: boolean | undefined; } | undefined): void;
  override get<P extends string | readonly (string | number)[]>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null;
  override get<P extends string | Array<string | number>>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null;
  override getError(errorCode: string, path?: string | (string | number)[] | undefined): any;
  override hasError(errorCode: string, path?: string | (string | number)[] | undefined): boolean;
  override readonly root: AbstractControl<any, any, any>;
}

registerControl

TControl

Регистрирует элемент управления в списке элементов управления записи.

Дополнительную информацию см. в разделе FormGroup#registerControl.

@paramnamestring
@paramcontrolTControl
@returnsTControl

addControl

void

Добавляет элемент управления в эту группу.

Дополнительную информацию см. в разделе FormGroup#addControl.

@paramnamestring
@paramcontrolTControl
@paramoptions{ emitEvent?: boolean | undefined; } | undefined
@returnsvoid

removeControl

void

Удаляет элемент управления из этой группы.

Дополнительную информацию см. в разделе FormGroup#removeControl.

@paramnamestring
@paramoptions{ emitEvent?: boolean | undefined; } | undefined
@returnsvoid

setControl

void

Заменяет существующий элемент управления.

Дополнительную информацию см. в разделе FormGroup#setControl.

@paramnamestring
@paramcontrolTControl
@paramoptions{ emitEvent?: boolean | undefined; } | undefined
@returnsvoid

contains

boolean

Проверяет, есть ли в группе включенный элемент управления с указанным именем.

Дополнительную информацию см. в разделе FormGroup#contains.

@paramcontrolNamestring
@returnsboolean

setValue

void

Задает значение FormRecord. Метод принимает объект, соответствующий структуре группы, в котором имена элементов управления используются в качестве ключей.

Дополнительную информацию см. в разделе FormGroup#setValue.

@paramvalue{ [key: string]: ɵRawValue<TControl>; }
@paramoptions{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returnsvoid

patchValue

void

Частично обновляет значение FormRecord. Метод принимает объект, в котором имена элементов управления используются в качестве ключей, и старается сопоставить значения с соответствующими элементами управления группы.

Дополнительную информацию см. в разделе FormGroup#patchValue.

@paramvalue{ [key: string]: ɵValue<TControl>; }
@paramoptions{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returnsvoid

reset

void

Сбрасывает FormRecord, помечает все дочерние элементы как pristine и untouched и задает значение null для всех дочерних элементов.

Дополнительную информацию см. в разделе FormGroup#reset.

@paramvalue{ [key: string]: ɵValue<TControl> | FormControlState<ɵValue<TControl>>; } | undefined
@paramoptions{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returnsvoid

getRawValue

{ [key: string]: ɵRawValue<TControl>; }

Сводное значение FormRecord, включая отключенные элементы управления.

Дополнительную информацию см. в разделе FormGroup#getRawValue.

@returns{ [key: string]: ɵRawValue<TControl>; }

controls

ɵTypedOrUntyped<TControl, TControl, { [key: string]: AbstractControl<any, any, any>; }>

value

TValue

Текущее значение элемента управления.

  • Для FormControl — текущее значение.
  • Для включенного FormGroup — значения включенных элементов управления в виде объекта с парой «ключ—значение» для каждого элемента группы.
  • Для отключенного FormGroup — значения всех элементов управления в виде объекта с парой «ключ—значение» для каждого элемента группы.
  • Для включенного FormArray — значения включенных элементов управления в виде массива.
  • Для отключенного FormArray — значения всех элементов управления в виде массива.

validator

ValidatorFn | null

Возвращает функцию, которая используется для синхронного определения валидности этого элемента управления. Если добавлено несколько валидаторов, они объединяются в одну функцию. Дополнительную информацию см. в разделе Validators.compose().

validator

ValidatorFn | null

asyncValidator

AsyncValidatorFn | null

Возвращает функцию, которая используется для асинхронного определения валидности этого элемента управления. Если добавлено несколько валидаторов, они объединяются в одну функцию. Дополнительную информацию см. в разделе Validators.compose().

asyncValidator

AsyncValidatorFn | null

parent

FormGroup<any> | FormArray<any> | null

Родительский элемент управления.

status

FormControlStatus

Статус проверки элемента управления.

valid

boolean

Элемент управления является valid, если его status имеет значение VALID.

invalid

boolean

Элемент управления является invalid, если его status имеет значение INVALID.

pending

boolean

Элемент управления находится в состоянии pending, если его status имеет значение PENDING.

disabled

boolean

Элемент управления является disabled, если его status имеет значение DISABLED.

Для отключенных элементов управления не выполняются проверки валидности, и они не включаются в сводное значение родительских элементов управления.

enabled

boolean

Элемент управления является enabled, пока его status не имеет значение DISABLED.

errors

ValidationErrors | null

Объект, содержащий ошибки, возникшие при неудачной проверке валидности, или null, если ошибок нет.

pristine

boolean

Элемент управления является pristine, если пользователь еще не изменял значение в интерфейсе.

dirty

boolean

Элемент управления является dirty, если пользователь изменил значение в интерфейсе.

touched

boolean

Имеет значение true, если элемент управления помечен как touched.

Элемент управления помечается как touched, когда пользователь вызывает для него событие blur.

untouched

boolean

Имеет значение true, если элемент управления не был помечен как затронутый.

Элемент управления является untouched, если пользователь еще не вызывал для него событие blur.

events

any

Многоадресный Observable, который генерирует событие при каждом изменении состояния элемента управления. Он генерирует события при изменении значения, статуса, состояния pristine или touched.

Примечание: при изменении значения событие генерируется сразу после обновления значения этого элемента управления. Значение родительского элемента управления (например, если этот FormControl входит в FormGroup) обновляется позже, поэтому обращение к значению родительского элемента управления (с помощью свойства value) из обратного вызова этого события может вернуть еще не обновленное значение. Вместо этого подпишитесь на events родительского элемента управления. Для событий других типов события генерируются после обновления родительского элемента управления.

valueChanges

Observable<TValue>

Многоадресный Observable, который генерирует событие при каждом изменении значения элемента управления в интерфейсе или программно. Он также генерирует событие при каждом вызове enable() или disable(), если в аргумент функции не передан параметр {emitEvent: false}.

Примечание: событие генерируется сразу после обновления значения этого элемента управления. Значение родительского элемента управления (например, если этот FormControl входит в FormGroup) обновляется позже, поэтому обращение к значению родительского элемента управления (с помощью свойства value) из обратного вызова этого события может вернуть еще не обновленное значение. Вместо этого подпишитесь на событие valueChanges родительского элемента управления.

statusChanges

Observable<FormControlStatus>

Многоадресный Observable, который генерирует событие при каждом пересчете status валидности элемента управления.

updateOn

FormHooks

Сообщает о стратегии обновления AbstractControl (то есть о событии, при котором элемент управления обновляет себя). Возможные значения: 'change' | 'blur' | 'submit' Значение по умолчанию: 'change'

setValidators

void

Задает синхронные валидаторы, активные для этого элемента управления. При вызове метода все существующие синхронные валидаторы перезаписываются.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

Чтобы добавить новый валидатор, не затрагивая существующие, можно вместо этого использовать метод addValidators().

@paramvalidatorsValidatorFn | ValidatorFn[] | null
@returnsvoid

setAsyncValidators

void

Задает асинхронные валидаторы, активные для этого элемента управления. При вызове метода все существующие асинхронные валидаторы перезаписываются.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

Чтобы добавить новый валидатор, не затрагивая существующие, можно вместо этого использовать метод addAsyncValidators().

@paramvalidatorsAsyncValidatorFn | AsyncValidatorFn[] | null
@returnsvoid

addValidators

void

Добавляет к этому элементу управления один или несколько синхронных валидаторов, не затрагивая остальные валидаторы.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

Добавление уже существующего валидатора не оказывает эффекта. Если в массиве validators имеются повторяющиеся функции-валидаторы, к элементу управления формы будет добавлен только первый экземпляр.

@paramvalidatorsValidatorFn | ValidatorFn[]

Новая функция-валидатор или функции-валидаторы для добавления к этому элементу управления.

@returnsvoid

addAsyncValidators

void

Добавляет к этому элементу управления один или несколько асинхронных валидаторов, не затрагивая остальные валидаторы.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

Добавление уже существующего валидатора не оказывает эффекта.

@paramvalidatorsAsyncValidatorFn | AsyncValidatorFn[]

Новая функция асинхронного валидатора или функции асинхронных валидаторов для добавления к этому элементу управления.

@returnsvoid

removeValidators

void

Удаляет синхронный валидатор из этого элемента управления, не затрагивая остальные валидаторы. Валидаторы сравниваются по ссылке на функцию; необходимо передать ссылку на ту же самую функцию-валидатор, которая была установлена изначально. Если указанный валидатор не найден, он игнорируется.

@paramvalidatorsValidatorFn | ValidatorFn[]

Валидатор или валидаторы для удаления.

@returnsvoid
Примечания по использованию
// 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);

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

removeAsyncValidators

void

Удаляет асинхронный валидатор из этого элемента управления, не затрагивая остальные валидаторы. Валидаторы сравниваются по ссылке на функцию; необходимо передать ссылку на ту же самую функцию-валидатор, которая была установлена изначально. Если указанный валидатор не найден, он игнорируется.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

@paramvalidatorsAsyncValidatorFn | AsyncValidatorFn[]

Асинхронный валидатор или валидаторы для удаления.

@returnsvoid

hasValidator

boolean

Проверяет, присутствует ли в этом элементе управления функция синхронного валидатора. Указанный валидатор должен быть ссылкой на ту же самую функцию, которая была передана ранее.

@paramvalidatorValidatorFn

Валидатор, наличие которого нужно проверить. Сравнение выполняется по ссылке на функцию.

@returnsboolean

Найден ли указанный валидатор в этом элементе управления.

Примечания по использованию
// 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)

hasAsyncValidator

boolean

Проверяет, присутствует ли в этом элементе управления функция асинхронного валидатора. Указанный валидатор должен быть ссылкой на ту же самую функцию, которая была передана ранее.

@paramvalidatorAsyncValidatorFn

Асинхронный валидатор, наличие которого нужно проверить. Сравнение выполняется по ссылке на функцию.

@returnsboolean

Найден ли указанный асинхронный валидатор в этом элементе управления.

clearValidators

void

Очищает список синхронных валидаторов.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

@returnsvoid

clearAsyncValidators

void

Очищает список асинхронных валидаторов.

При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.

@returnsvoid

markAsTouched

2 перегрузки

Помечает элемент управления как touched. Элемент управления считается затронутым при событиях фокусировки и потери фокуса, не изменяющих значение.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие распространение изменений элемента управления и генерацию событий после применения отметки.

  • onlySelf: если значение true, помечается только этот элемент управления. Если значение false или параметр не указан, помечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: если значение true или параметр не указан (значение по умолчанию), Observable events генерирует событие TouchedChangeEvent, у которого свойство touched имеет значение true. Если значение false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; } | undefined
@returnsvoid

markAllAsDirty

void

Отмечает элемент управления и все его дочерние элементы управления как dirty.

@paramopts{ emitEvent?: boolean | undefined; }

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.

  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект events генерирует событие PristineChangeEvent, в котором свойство pristine имеет значение false. Если значение равно false, события не генерируются.
@returnsvoid

markAllAsTouched

void

Отмечает элемент управления и все его дочерние элементы управления как touched.

@paramopts{ emitEvent?: boolean | undefined; }

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.

  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект events генерирует событие TouchedChangeEvent, в котором свойство touched имеет значение true. Если значение равно false, события не генерируются.
@returnsvoid

markAsUntouched

2 перегрузки

Отмечает элемент управления как untouched.

Если у элемента управления есть дочерние элементы, также отмечает все дочерние элементы как untouched и пересчитывает статус touched всех родительских элементов управления.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект events генерирует событие TouchedChangeEvent, в котором свойство touched имеет значение false. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

markAsDirty

2 перегрузки

Отмечает элемент управления как dirty. Элемент управления становится изменённым, когда его значение меняется через пользовательский интерфейс; сравните с markAsTouched.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект events генерирует событие PristineChangeEvent, в котором свойство pristine имеет значение false. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

markAsPristine

2 перегрузки

Отмечает элемент управления как pristine.

Если у элемента управления есть дочерние элементы, отмечает их все как pristine и пересчитывает статус pristine всех родительских элементов управления.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления генерирует события после применения отметки.

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект events генерирует событие PristineChangeEvent, в котором свойство pristine имеет значение true. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

markAsPending

2 перегрузки

Отмечает элемент управления как pending.

Элемент управления находится в состоянии ожидания, пока выполняется его асинхронная проверка.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект statusChanges генерирует событие с последним статусом элемента управления, отмеченного как ожидающий, а наблюдаемый объект events генерирует событие StatusChangeEvent, в котором свойство status имеет значение PENDING. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

disable

2 перегрузки

Отключает элемент управления. Это означает, что он не участвует в проверках и исключается из агрегированного значения любого родительского элемента. Его статус — DISABLED.

Если у элемента управления есть дочерние элементы, они также отключаются.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после отключения.

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объекты statusChanges, valueChanges и events генерируют события с последним статусом и значением при отключении элемента управления. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

enable

void

Включает элемент управления. Это означает, что он участвует в проверках и включается в агрегированное значение родительского элемента. Его статус пересчитывается с учётом значения и валидаторов.

По умолчанию, если у элемента управления есть дочерние элементы, они все включаются.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события при отметке как непосещённого

  • onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объекты statusChanges, valueChanges и events генерируют события с последним статусом и значением при включении элемента управления. Если значение равно false, события не генерируются.
@returnsvoid

setParent

void

Задаёт родительский элемент для элемента управления

@paramparentFormGroup<any> | FormArray<any> | null

Новый родительский элемент.

@returnsvoid

updateValueAndValidity

2 перегрузки

Пересчитывает значение и статус проверки элемента управления.

По умолчанию также обновляются значение и допустимость всех его предков.

@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации определяют, как элемент управления распространяет изменения и генерирует события после обновления и проверки допустимости.

  • onlySelf: Если значение равно true, обновляется только этот элемент управления. Если значение равно false или не указано, обновляются все непосредственные предки. Значение по умолчанию — false.
  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объекты statusChanges, valueChanges и events генерируют события с последним статусом и значением при обновлении элемента управления. Если значение равно false, события не генерируются.
@returnsvoid
@paramopts{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
@returnsvoid

setErrors

2 перегрузки

Задаёт ошибки элемента управления формы при ручном, а не автоматическом запуске проверок.

Вызов setErrors также обновляет допустимость родительского элемента управления.

Примечание. Результаты следующего запуска проверки всегда перезаписывают ошибки, заданные вручную.

@paramerrorsValidationErrors | null
@paramopts{ emitEvent?: boolean | undefined; } | undefined

Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после задания ошибок.

  • emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объект statusChanges генерирует событие после задания ошибок.
@returnsvoid
Примечания по использованию

Задание ошибок элемента управления вручную

const login = new FormControl('someLogin');
login.setErrors({
  notUnique: true
});

expect(login.valid).toEqual(false);
expect(login.errors).toEqual({ notUnique: true });

login.setValue('someOtherLogin');

expect(login.valid).toEqual(true);
@paramerrorsValidationErrors | null
@paramopts{ emitEvent?: boolean | undefined; shouldHaveEmitted?: boolean | undefined; } | undefined
@returnsvoid

get

2 перегрузки

Возвращает дочерний элемент управления по его имени или пути.

Эта сигнатура метода get поддерживает строки и массивы const (.get(['foo', 'bar'] as const)).

@parampathP
@returnsAbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null

Возвращает дочерний элемент управления по его имени или пути.

Эта сигнатура метода get поддерживает изменяемые массивы (не const). Тип выводится менее точно, поэтому по возможности предпочтительно передавать массив readonly.

@parampathP
@returnsAbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null

getError

any

Возвращает данные об ошибке для элемента управления по указанному пути.

@paramerrorCodestring

Код ошибки для проверки

@parampathstring | (string | number)[] | undefined

Список имён элементов управления, задающий путь от текущего элемента управления до элемента, в котором нужно проверить наличие ошибок.

@returnsany

Данные о конкретной ошибке. Если элемент управления или ошибка отсутствует, возвращается null.

Примечания по использованию

Например, для следующего FormGroup:

form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
});

Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.

Его можно передать этому методу в одном из двух форматов:

  1. Массив строк с именами элементов управления, например ['address', 'street']
  2. Список имён элементов управления, разделённых точками в одной строке, например 'address.street'

hasError

boolean

Проверяет, есть ли у элемента управления по указанному пути заданная ошибка.

@paramerrorCodestring

Код ошибки для проверки

@parampathstring | (string | number)[] | undefined

Список имён элементов управления, задающий путь от текущего элемента управления до элемента, в котором нужно проверить наличие ошибок.

@returnsboolean

Наличие указанной ошибки у элемента управления по заданному пути.

Если элемент управления отсутствует, возвращается false.

Примечания по использованию

Например, для следующего FormGroup:

form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
});

Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.

Его можно передать этому методу в одном из двух форматов:

  1. Массив строк с именами элементов управления, например ['address', 'street']
  2. Список имён элементов управления, разделённых точками в одной строке, например 'address.street'

Если путь не указан, метод проверяет наличие ошибки у текущего элемента управления.

root

AbstractControl<any, any, any>

Возвращает предка верхнего уровня для этого элемента управления.

Описание

Отслеживает значение и состояние допустимости коллекции экземпляров FormControl, каждый из которых имеет один и тот же тип значения.

FormRecord очень похож на FormGroup, но поддерживает динамические ключи, позволяя добавлять и удалять элементы управления по мере необходимости.

FormRecord принимает один обобщённый аргумент, описывающий тип содержащихся в нём элементов управления.

Примечания по использованию

let numbers = new FormRecord({bill: new FormControl('415-123-456')});
numbers.addControl('bob', new FormControl('415-234-567'));
numbers.removeControl('bill');

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/forms/FormRecord

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API