FieldState
Доступное для записи представление состояния FieldTree.
API
interface FieldState<TValue, TKey extends string | number = string | number> extends ReadonlyFieldState<TValue, TKey> {
readonly fieldTree: FieldTree<unknown, TKey, "writable">;
readonly value: WritableSignal<TValue>;
readonly controlValue: WritableSignal<TValue>;
markAsDirty(): void;
markAsTouched(options?: MarkAsTouchedOptions | undefined): void;
getError<K extends NgValidationError['kind']>(kind: K): ((Extract<RequiredValidationError, { kind: K; }> | Extract<MinValidationError, { kind: K; }> | Extract<MinDateValidationError, { kind: K; }> | Extract<MaxValidationError, { kind: K; }> | Extract<MaxDateValidationError, { kind: K; }> | Extract<MinLengthValidationError, { kind: K; }> | Extract<MaxLengthValidationError, { kind: K; }> | Extract<PatternValidationError, { kind: K; }> | Extract<EmailValidationError, { kind: K; }> | Extract<StandardSchemaValidationError, { kind: K; }> | Extract<NativeInputParseError, { kind: K; }>) & WithFieldTree) | undefined;
getError(kind: string): WithFieldTree | undefined;
reset(value?: TValue | undefined): void;
reloadValidation(): void;
readonly override disabled: Signal<boolean>;
readonly override max: Signal<NonNullable<TValue> | undefined> | undefined;
readonly override maxLength: Signal<number | undefined> | undefined;
readonly override min: Signal<NonNullable<TValue> | undefined> | undefined;
readonly override minLength: Signal<number | undefined> | undefined;
readonly override name: Signal<string>;
readonly override pattern: Signal<readonly RegExp[]>;
readonly override readonly: Signal<boolean>;
readonly override required: Signal<boolean>;
readonly override touched: Signal<boolean>;
readonly override dirty: Signal<boolean>;
readonly override hidden: Signal<boolean>;
readonly override disabledReasons: Signal<readonly DisabledReason[]>;
readonly override errors: Signal<WithFieldTree[]>;
readonly override errorSummary: Signal<WithFieldTree[]>;
readonly override valid: Signal<boolean>;
readonly override invalid: Signal<boolean>;
readonly override pending: Signal<boolean>;
readonly override submitting: Signal<boolean>;
readonly override keyInParent: Signal<TKey>;
readonly override formFieldBindings: Signal<readonly FormFieldBinding[]>;
override metadata<M>(key: MetadataKey<M, any, any>): M | undefined;
override hasMetadata(key: MetadataKey<any, any, any>): boolean;
override focusBoundControl(options?: FocusOptions | undefined): void;
}
value
WritableSignal<TValue>Записываемый сигнал, содержащий значение этого поля.
Обновление этого сигнала обновит модель данных, с которой связано поле.
Изменения из элемента управления пользовательского интерфейса в конечном итоге отразятся здесь, но могут быть отложены при использовании задержки обновления.
controlValue
WritableSignal<TValue>Сигнал, содержащий значение элемента управления, с которым связано это поле.
Он отличается от value тем, что для него не применяется задержка обновления, поэтому он используется для буферизации отложенных обновлений элемента управления для поля. При этом также не учитывается controlValue дочерних элементов.
markAsDirty
voidУстанавливает для поля статус изменения true.
void
markAsTouched
voidУстанавливает для поля и его потомков статус взаимодействия true.
void
getError
((Extract<RequiredValidationError, { kind: K; }> | Extract<MinValidationError, { kind: K; }> | Extract<MinDateValidationError, { kind: K; }> | Extract<MaxValidationError, { kind: K; }> | Extract<MaxDateValidationError, { kind: K; }> | Extract<MinLengthValidationError, { kind: K; }> | Extract<MaxLengthValidationError, { kind: K; }> | Extract<PatternValidationError, { kind: K; }> | Extract<EmailValidationError, { kind: K; }> | Extract<StandardSchemaValidationError, { kind: K; }> | Extract<NativeInputParseError, { kind: K; }>) & WithFieldTree) | undefinedВозвращает первую ошибку проверки указанного типа для этого поля.
Этот метод реактивен и повторно вычисляется при изменении ошибок поля, если вызван в реактивном контексте (например, в computed или effect).
KТип ошибки (например, 'required', 'min').
((Extract<RequiredValidationError, { kind: K; }> | Extract<MinValidationError, { kind: K; }> | Extract<MinDateValidationError, { kind: K; }> | Extract<MaxValidationError, { kind: K; }> | Extract<MaxDateValidationError, { kind: K; }> | Extract<MinLengthValidationError, { kind: K; }> | Extract<MaxLengthValidationError, { kind: K; }> | Extract<PatternValidationError, { kind: K; }> | Extract<EmailValidationError, { kind: K; }> | Extract<StandardSchemaValidationError, { kind: K; }> | Extract<NativeInputParseError, { kind: K; }>) & WithFieldTree) | undefinedПервая подходящая ошибка или undefined, если ошибок нет.
getError
WithFieldTree | undefinedstring
WithFieldTree | undefined
reset
voidСбрасывает состояния touched и dirty поля и его потомков.
Обратите внимание: эта операция не изменяет модель данных; при необходимости её можно сбросить напрямую.
TValue | undefinedНеобязательное значение, которое нужно задать для формы. Если оно не указано, значение не изменится.
void
reloadValidation
voidПовторно запускает все асинхронные проверки для этого поля и его потомков.
void
disabled
Signal<boolean>Сигнал, указывающий, отключено ли поле в данный момент.
max
Signal<NonNullable<TValue> | undefined> | undefinedСигнал, указывающий максимальное значение поля, если оно применимо.
Применяется к <input> с числовым или датовым атрибутом type и к пользовательским элементам управления.
maxLength
Signal<number | undefined> | undefinedСигнал, указывающий максимальную длину строки поля, если она применима.
Применяется к <input>, <textarea> и пользовательским элементам управления.
min
Signal<NonNullable<TValue> | undefined> | undefinedСигнал, указывающий минимальное значение поля, если оно применимо.
Применяется к <input> с числовым или датовым атрибутом type и к пользовательским элементам управления.
minLength
Signal<number | undefined> | undefinedСигнал, указывающий минимальную длину строки поля, если она применима.
Применяется к <input>, <textarea> и пользовательским элементам управления.
name
Signal<string>Сигнал с уникальным именем поля, по умолчанию основанным на имени родительского поля.
pattern
Signal<readonly RegExp[]>Сигнал, указывающий шаблоны, которым должно соответствовать поле.
readonly
Signal<boolean>Сигнал, указывающий, доступно ли поле только для чтения в данный момент.
required
Signal<boolean>Сигнал, указывающий, является ли поле обязательным.
touched
Signal<boolean>Сигнал, указывающий, взаимодействовал ли пользователь с полем.
dirty
Signal<boolean>Сигнал, указывающий, изменил ли пользователь значение поля.
disabledReasons
Signal<readonly DisabledReason[]>errors
Signal<WithFieldTree[]>errorSummary
Signal<WithFieldTree[]>Сигнал, содержащий errors поля и его потомков.
valid
Signal<boolean>Сигнал, указывающий, является ли значение поля допустимым в данный момент.
Примечание: valid() — это не то же самое, что !invalid().
-
valid()имеет значениеtrue, если ошибок проверки нет и нет ожидающих завершения проверок. -
invalid()имеет значениеtrue, если есть ошибки проверки, независимо от наличия ожидающих завершения проверок.
Например, рассмотрим ситуацию, когда у поля есть 3 проверки: 2 из них не выявили ошибок, а 1 ещё выполняется. В этом случае valid() имеет значение false из-за ожидающей проверки. Однако invalid() также имеет значение false, поскольку ошибок нет.
invalid
Signal<boolean>Сигнал, указывающий, является ли значение поля недопустимым в данный момент.
Примечание: invalid() — это не то же самое, что !valid().
-
invalid()имеет значениеtrue, если есть ошибки проверки, независимо от наличия ожидающих завершения проверок. -
valid()имеет значениеtrue, если ошибок проверки нет и нет ожидающих завершения проверок.
Например, рассмотрим ситуацию, когда у поля есть 3 проверки: 2 из них не выявили ошибок, а 1 ещё выполняется. В этом случае invalid() имеет значение false, поскольку ошибок нет. Однако valid() также имеет значение false из-за ожидающей проверки.
pending
Signal<boolean>Есть ли проверки этого поля, выполнение которых ещё не завершено.
submitting
Signal<boolean>Сигнал, указывающий, отправляется ли поле в данный момент.
keyInParent
Signal<TKey>Ключ свойства в родительском поле, по которому хранится это поле. Например, если родительское поле содержит массив, это индекс данного поля в массиве.
formFieldBindings
Signal<readonly FormFieldBinding[]>Директивы FormField, связывающие это поле с элементом управления пользовательского интерфейса.
metadata
M | undefinedЧитает значение метаданных поля.
M | undefined
hasMetadata
booleanПроверяет, существует ли у поля значение метаданных.
boolean
focusBoundControl
voidПереводит фокус на первый элемент управления пользовательского интерфейса в DOM, связанный с этим состоянием поля. Если таких элементов нет, ничего не делает.
FocusOptions | undefinedНеобязательные параметры фокуса, передаваемые нативному методу focus().
void
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/signals/FieldState