Spec-Zone.ru › Angular

AsyncValidator

Интерфейс, реализуемый классами, выполняющими асинхронную проверку.

Создание асинхронных валидаторов

API

interface AsyncValidator extends Validator {
  validate(control: AbstractControl<any, any, any>): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
  optional override registerOnValidatorChange(fn: () => void): void;
}

validate

Promise<ValidationErrors | null> | Observable<ValidationErrors | null>

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

@paramcontrolAbstractControl<any, any, any>

Элемент управления, который нужно проверить.

@returnsPromise<ValidationErrors | null> | Observable<ValidationErrors | null>

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

registerOnValidatorChange

void

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

@paramfn() => void

Функция обратного вызова

@returnsvoid

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

Создание пользовательской директивы асинхронной проверки

В следующем примере реализуется интерфейс AsyncValidator для создания директивы асинхронной проверки с пользовательским ключом ошибки.

import { of } from 'rxjs';

@Directive({
  selector: '[customAsyncValidator]',
  providers: [{provide: NG_ASYNC_VALIDATORS, useExisting: CustomAsyncValidatorDirective, multi:
true}]
})
class CustomAsyncValidatorDirective implements AsyncValidator {
  validate(control: AbstractControl): Observable<ValidationErrors|null> {
    return of({'custom': true});
  }
}

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/AsyncValidator

Spec-Zone.ru

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