FormRecord
Отслеживает значение и состояние валидности коллекции экземпляров FormControl, каждый из которых имеет один и тот же тип значения.
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.
string
TControl
TControl
addControl
voidДобавляет элемент управления в эту группу.
Дополнительную информацию см. в разделе FormGroup#addControl.
string
TControl
{ emitEvent?: boolean | undefined; } | undefined
void
removeControl
voidУдаляет элемент управления из этой группы.
Дополнительную информацию см. в разделе FormGroup#removeControl.
string
{ emitEvent?: boolean | undefined; } | undefined
void
setControl
voidЗаменяет существующий элемент управления.
Дополнительную информацию см. в разделе FormGroup#setControl.
string
TControl
{ emitEvent?: boolean | undefined; } | undefined
void
contains
booleanПроверяет, есть ли в группе включенный элемент управления с указанным именем.
Дополнительную информацию см. в разделе FormGroup#contains.
string
boolean
setValue
voidЗадает значение FormRecord. Метод принимает объект, соответствующий структуре группы, в котором имена элементов управления используются в качестве ключей.
Дополнительную информацию см. в разделе FormGroup#setValue.
{ [key: string]: ɵRawValue<TControl>; }
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
void
patchValue
voidЧастично обновляет значение FormRecord. Метод принимает объект, в котором имена элементов управления используются в качестве ключей, и старается сопоставить значения с соответствующими элементами управления группы.
Дополнительную информацию см. в разделе FormGroup#patchValue.
{ [key: string]: ɵValue<TControl>; }
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
void
reset
voidСбрасывает FormRecord, помечает все дочерние элементы как pristine и untouched и задает значение null для всех дочерних элементов.
Дополнительную информацию см. в разделе FormGroup#reset.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
void
getRawValue
{ [key: string]: ɵRawValue<TControl>; }Сводное значение FormRecord, включая отключенные элементы управления.
Дополнительную информацию см. в разделе FormGroup#getRawValue.
{ [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 | nullasyncValidator
AsyncValidatorFn | nullВозвращает функцию, которая используется для асинхронного определения валидности этого элемента управления. Если добавлено несколько валидаторов, они объединяются в одну функцию. Дополнительную информацию см. в разделе Validators.compose().
asyncValidator
AsyncValidatorFn | nullstatus
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().
void
setAsyncValidators
voidЗадает асинхронные валидаторы, активные для этого элемента управления. При вызове метода все существующие асинхронные валидаторы перезаписываются.
При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.
Чтобы добавить новый валидатор, не затрагивая существующие, можно вместо этого использовать метод addAsyncValidators().
void
addValidators
voidДобавляет к этому элементу управления один или несколько синхронных валидаторов, не затрагивая остальные валидаторы.
При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.
Добавление уже существующего валидатора не оказывает эффекта. Если в массиве validators имеются повторяющиеся функции-валидаторы, к элементу управления формы будет добавлен только первый экземпляр.
ValidatorFn | ValidatorFn[]Новая функция-валидатор или функции-валидаторы для добавления к этому элементу управления.
void
addAsyncValidators
voidДобавляет к этому элементу управления один или несколько асинхронных валидаторов, не затрагивая остальные валидаторы.
При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.
Добавление уже существующего валидатора не оказывает эффекта.
AsyncValidatorFn | AsyncValidatorFn[]Новая функция асинхронного валидатора или функции асинхронных валидаторов для добавления к этому элементу управления.
void
removeValidators
voidУдаляет синхронный валидатор из этого элемента управления, не затрагивая остальные валидаторы. Валидаторы сравниваются по ссылке на функцию; необходимо передать ссылку на ту же самую функцию-валидатор, которая была установлена изначально. Если указанный валидатор не найден, он игнорируется.
void
// 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(), чтобы новые правила проверки вступили в силу.
AsyncValidatorFn | AsyncValidatorFn[]Асинхронный валидатор или валидаторы для удаления.
void
hasValidator
booleanПроверяет, присутствует ли в этом элементе управления функция синхронного валидатора. Указанный валидатор должен быть ссылкой на ту же самую функцию, которая была передана ранее.
ValidatorFnВалидатор, наличие которого нужно проверить. Сравнение выполняется по ссылке на функцию.
booleanНайден ли указанный валидатор в этом элементе управления.
// 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Проверяет, присутствует ли в этом элементе управления функция асинхронного валидатора. Указанный валидатор должен быть ссылкой на ту же самую функцию, которая была передана ранее.
AsyncValidatorFnАсинхронный валидатор, наличие которого нужно проверить. Сравнение выполняется по ссылке на функцию.
booleanНайден ли указанный асинхронный валидатор в этом элементе управления.
clearValidators
voidОчищает список синхронных валидаторов.
При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.
void
clearAsyncValidators
voidОчищает список асинхронных валидаторов.
При добавлении или удалении валидатора во время выполнения необходимо вызвать updateValueAndValidity(), чтобы новые правила проверки вступили в силу.
void
markAsTouched
2 перегрузкиПомечает элемент управления как touched. Элемент управления считается затронутым при событиях фокусировки и потери фокуса, не изменяющих значение.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие распространение изменений элемента управления и генерацию событий после применения отметки.
-
onlySelf: если значение true, помечается только этот элемент управления. Если значение false или параметр не указан, помечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: если значение true или параметр не указан (значение по умолчанию), Observableeventsгенерирует событиеTouchedChangeEvent, у которого свойствоtouchedимеет значениеtrue. Если значение false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; } | undefined
void
markAllAsDirty
voidОтмечает элемент управления и все его дочерние элементы управления как dirty.
{ emitEvent?: boolean | undefined; }Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.
-
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектeventsгенерирует событиеPristineChangeEvent, в котором свойствоpristineимеет значениеfalse. Если значение равно false, события не генерируются.
void
markAllAsTouched
voidОтмечает элемент управления и все его дочерние элементы управления как touched.
{ emitEvent?: boolean | undefined; }Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.
-
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектeventsгенерирует событиеTouchedChangeEvent, в котором свойствоtouchedимеет значениеtrue. Если значение равно false, события не генерируются.
void
markAsUntouched
2 перегрузкиОтмечает элемент управления как untouched.
Если у элемента управления есть дочерние элементы, также отмечает все дочерние элементы как untouched и пересчитывает статус touched всех родительских элементов управления.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектeventsгенерирует событиеTouchedChangeEvent, в котором свойствоtouchedимеет значениеfalse. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
markAsDirty
2 перегрузкиОтмечает элемент управления как dirty. Элемент управления становится изменённым, когда его значение меняется через пользовательский интерфейс; сравните с markAsTouched.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектeventsгенерирует событиеPristineChangeEvent, в котором свойствоpristineимеет значениеfalse. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
markAsPristine
2 перегрузкиОтмечает элемент управления как pristine.
Если у элемента управления есть дочерние элементы, отмечает их все как pristine и пересчитывает статус pristine всех родительских элементов управления.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления генерирует события после применения отметки.
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектeventsгенерирует событиеPristineChangeEvent, в котором свойствоpristineимеет значениеtrue. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
markAsPending
2 перегрузкиОтмечает элемент управления как pending.
Элемент управления находится в состоянии ожидания, пока выполняется его асинхронная проверка.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после применения отметки.
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектstatusChangesгенерирует событие с последним статусом элемента управления, отмеченного как ожидающий, а наблюдаемый объектeventsгенерирует событиеStatusChangeEvent, в котором свойствоstatusимеет значениеPENDING. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
disable
2 перегрузкиОтключает элемент управления. Это означает, что он не участвует в проверках и исключается из агрегированного значения любого родительского элемента. Его статус — DISABLED.
Если у элемента управления есть дочерние элементы, они также отключаются.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после отключения.
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объектыstatusChanges,valueChangesиeventsгенерируют события с последним статусом и значением при отключении элемента управления. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
enable
voidВключает элемент управления. Это означает, что он участвует в проверках и включается в агрегированное значение родительского элемента. Его статус пересчитывается с учётом значения и валидаторов.
По умолчанию, если у элемента управления есть дочерние элементы, они все включаются.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }Параметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события при отметке как непосещённого
-
onlySelf: Если значение равно true, отмечается только этот элемент управления. Если значение равно false или не указано, отмечаются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объектыstatusChanges,valueChangesиeventsгенерируют события с последним статусом и значением при включении элемента управления. Если значение равно false, события не генерируются.
void
setParent
voidupdateValueAndValidity
2 перегрузкиПересчитывает значение и статус проверки элемента управления.
По умолчанию также обновляются значение и допустимость всех его предков.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации определяют, как элемент управления распространяет изменения и генерирует события после обновления и проверки допустимости.
-
onlySelf: Если значение равно true, обновляется только этот элемент управления. Если значение равно false или не указано, обновляются все непосредственные предки. Значение по умолчанию — false. -
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемые объектыstatusChanges,valueChangesиeventsгенерируют события с последним статусом и значением при обновлении элемента управления. Если значение равно false, события не генерируются.
void
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; sourceControl?: AbstractControl<any, any, any> | undefined; }
void
setErrors
2 перегрузкиЗадаёт ошибки элемента управления формы при ручном, а не автоматическом запуске проверок.
Вызов setErrors также обновляет допустимость родительского элемента управления.
Примечание. Результаты следующего запуска проверки всегда перезаписывают ошибки, заданные вручную.
{ emitEvent?: boolean | undefined; } | undefinedПараметры конфигурации, определяющие, как элемент управления распространяет изменения и генерирует события после задания ошибок.
-
emitEvent: Если значение равно true или не указано (по умолчанию), наблюдаемый объектstatusChangesгенерирует событие после задания ошибок.
void
Задание ошибок элемента управления вручную
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);
{ emitEvent?: boolean | undefined; shouldHaveEmitted?: boolean | undefined; } | undefined
void
get
2 перегрузкиВозвращает дочерний элемент управления по его имени или пути.
Эта сигнатура метода get поддерживает строки и массивы const (.get(['foo', 'bar'] as const)).
P
AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null
Возвращает дочерний элемент управления по его имени или пути.
Эта сигнатура метода get поддерживает изменяемые массивы (не const). Тип выводится менее точно, поэтому по возможности предпочтительно передавать массив readonly.
P
AbstractControl<ɵGetProperty<TRawValue, P>, ɵGetProperty<TRawValue, P>, any> | null
getError
anyВозвращает данные об ошибке для элемента управления по указанному пути.
stringКод ошибки для проверки
string | (string | number)[] | undefinedСписок имён элементов управления, задающий путь от текущего элемента управления до элемента, в котором нужно проверить наличие ошибок.
anyДанные о конкретной ошибке. Если элемент управления или ошибка отсутствует, возвращается null.
Например, для следующего FormGroup:
form = new FormGroup({
address: new FormGroup({ street: new FormControl() })
});
Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.
Его можно передать этому методу в одном из двух форматов:
- Массив строк с именами элементов управления, например
['address', 'street'] - Список имён элементов управления, разделённых точками в одной строке, например
'address.street'
hasError
booleanПроверяет, есть ли у элемента управления по указанному пути заданная ошибка.
stringКод ошибки для проверки
string | (string | number)[] | undefinedСписок имён элементов управления, задающий путь от текущего элемента управления до элемента, в котором нужно проверить наличие ошибок.
booleanНаличие указанной ошибки у элемента управления по заданному пути.
Если элемент управления отсутствует, возвращается false.
Например, для следующего FormGroup:
form = new FormGroup({
address: new FormGroup({ street: new FormControl() })
});
Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.
Его можно передать этому методу в одном из двух форматов:
- Массив строк с именами элементов управления, например
['address', 'street'] - Список имён элементов управления, разделённых точками в одной строке, например
'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