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>Метод, выполняющий асинхронную проверку переданного элемента управления.
@returns
Promise<ValidationErrors | null> | Observable<ValidationErrors | null>Промис или наблюдаемый объект, возвращающий карту ошибок проверки, если проверка не пройдена, и null в противном случае.
registerOnValidatorChange
voidРегистрирует функцию обратного вызова, которая вызывается при изменении входных данных валидатора.
@paramfn
() => voidФункция обратного вызова
@returns
void
Примечания по использованию
Создание пользовательской директивы асинхронной проверки
В следующем примере реализуется интерфейс 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