NgControl
Базовый класс, от которого наследуются все директивы на основе FormControl. Он связывает объект FormControl с элементом DOM.
API
abstract class NgControl extends AbstractControlDirective {
constructor(injector?: Injector | undefined, renderer?: Renderer2 | undefined, rawValueAccessors?: ControlValueAccessor[] | undefined): NgControl;
name: string | number | null;
valueAccessor: ControlValueAccessor | null;
protected isCustomControlBased: boolean;
protected readonly selectedValueAccessor: ControlValueAccessor | null;
abstract viewToModelUpdate(newValue: any): void;
protected parseErrorsValidator: ValidatorFn | null;
protected customControlBindings: { value?: unknown; disabled?: boolean | undefined; touched?: boolean | undefined; dirty?: boolean | undefined; valid?: boolean | undefined; invalid?: boolean | undefined; pending?: boolean | undefined; required?: boolean | undefined; errors?: ValidationErrors | null | undefined; } | null;
protected setupCustomControl(): void;
protected ngControlUpdate(host: ControlDirectiveHost<undefined>, bindRequired: boolean): void;
protected readonly shouldBindRequired: boolean;
protected removeParseErrorsValidator(control: AbstractControl<any, any, any> | null | undefined): void;
abstract override readonly control: AbstractControl<any, any, any> | null;
override readonly value: any;
override readonly valid: boolean | null;
override readonly invalid: boolean | null;
override readonly pending: boolean | null;
override readonly disabled: boolean | null;
override readonly enabled: boolean | null;
override readonly errors: ValidationErrors | null;
override readonly pristine: boolean | null;
override readonly dirty: boolean | null;
override readonly touched: boolean | null;
override readonly status: string | null;
override readonly untouched: boolean | null;
override readonly statusChanges: any;
override readonly valueChanges: any;
override readonly path: string[] | null;
override readonly validator: ValidatorFn | null;
override readonly asyncValidator: AsyncValidatorFn | null;
override reset(value?: any): void;
override hasError(errorCode: string, path?: string | (string | number)[] | undefined): boolean;
override getError(errorCode: string, path?: string | (string | number)[] | undefined): any;
}
name
string | number | nullИмя элемента управления
valueAccessor
ControlValueAccessor | nullСредство доступа к значению элемента управления
isCustomControlBased
booleanselectedValueAccessor
ControlValueAccessor | nullviewToModelUpdate
voidМетод обратного вызова для обновления модели из представления по запросу
anyНовое значение для представления
void
parseErrorsValidator
ValidatorFn | nullФункция валидатора, возвращающая текущие ошибки разбора.
customControlBindings
{ value?: unknown; disabled?: boolean | undefined; touched?: boolean | undefined; dirty?: boolean | undefined; valid?: boolean | undefined; invalid?: boolean | undefined; pending?: boolean | undefined; required?: boolean | undefined; errors?: ValidationErrors | null | undefined; } | nullОтслеживает последние привязанные значения, чтобы избежать ненужных обновлений FVC.
setupCustomControl
voidvoid
ngControlUpdate
voidControlDirectiveHost<undefined>
boolean
void
shouldBindRequired
booleanСледует ли элементу управления связывать свойство required (в режиме пользовательского элемента управления).
Подклассы, обрабатывающие required иначе, могут переопределить этот метод.
removeParseErrorsValidator
voidvoid
control
AbstractControl<any, any, any> | nullСсылка на лежащий в основе элемент управления.
value
anyВозвращает значение элемента управления, если он существует, иначе — null.
valid
boolean | nullСообщает, является ли элемент управления допустимым. Элемент управления считается допустимым, если для его текущего значения нет ошибок проверки. Если элемент управления отсутствует, возвращается null.
invalid
boolean | nullСообщает, является ли элемент управления недопустимым, то есть содержит ли введенное значение ошибку. Если элемент управления отсутствует, возвращается null.
pending
boolean | nullСообщает, находится ли элемент управления в ожидании: это означает, что выполняется асинхронная проверка и ошибки для введенного значения еще недоступны. Если элемент управления отсутствует, возвращается null.
disabled
boolean | nullСообщает, отключен ли элемент управления: это означает, что он отключен в пользовательском интерфейсе, не участвует в проверках и исключается из агрегированных значений родительских элементов управления. Если элемент управления отсутствует, возвращается null.
enabled
boolean | nullСообщает, включен ли элемент управления: это означает, что он участвует в расчетах допустимости или значения для родительских элементов управления. Если элемент управления отсутствует, возвращается null.
errors
ValidationErrors | nullВозвращает ошибки проверки элемента управления. Если элемент управления отсутствует, возвращается null.
pristine
boolean | nullСообщает, является ли элемент управления нетронутым, то есть изменял ли пользователь его значение в пользовательском интерфейсе. Если элемент управления отсутствует, возвращается null.
dirty
boolean | nullСообщает, изменял ли пользователь значение элемента управления в пользовательском интерфейсе. Если элемент управления отсутствует, возвращается null.
touched
boolean | nullСообщает, был ли элемент управления затронут, то есть вызвал ли пользователь для него событие blur. Если элемент управления отсутствует, возвращается null.
status
string | nullВозвращает статус проверки элемента управления. Возможные значения: 'VALID', 'INVALID', 'DISABLED' и 'PENDING'. Если элемент управления отсутствует, возвращается null.
untouched
boolean | nullСообщает, остался ли элемент управления нетронутым, то есть вызывал ли пользователь для него событие blur. Если элемент управления отсутствует, возвращается null.
statusChanges
anyВозвращает Observable с множественной рассылкой, который выдает статус проверки каждый раз, когда он вычисляется для элемента управления. Если элемент управления отсутствует, возвращается null.
valueChanges
anyВозвращает Observable с множественной рассылкой изменений значения элемента управления. Он выдает новое значение каждый раз, когда значение элемента управления изменяется в пользовательском интерфейсе или программно. Если элемент управления отсутствует, возвращается null.
path
string[] | nullВозвращает массив, представляющий путь от формы верхнего уровня к этому элементу управления. Каждый индекс — это строковое имя элемента управления на соответствующем уровне.
validator
ValidatorFn | nullСинхронная функция валидатора, объединяющая все синхронные валидаторы, зарегистрированные в этой директиве.
asyncValidator
AsyncValidatorFn | nullАсинхронная функция валидатора, объединяющая все асинхронные валидаторы, зарегистрированные в этой директиве.
reset
voidСбрасывает элемент управления, задавая указанное значение, если элемент управления существует.
any
void
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'
Если путь не указан, этот метод проверяет наличие ошибки у текущего элемента управления.
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'
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/NgControl