填写这份《一分钟调查》,帮我们(开发组)做得更好!去填写Home

AsyncValidator

An interface implemented by classes that perform asynchronous validation.

      
      interface AsyncValidator extends Validator {
  validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>

  // 继承自 forms/Validator
  validate(control: AbstractControl): ValidationErrors | null
  registerOnValidatorChange(fn: () => void)?: void
}
    

方法

Method that performs async validation against the provided control.

validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>
      
      validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>
    
参数
control AbstractControl

The control to validate against.

返回值

Promise<ValidationErrors | null> | Observable<ValidationErrors | null>: A promise or observable that resolves a map of validation errors if validation fails, otherwise null.

使用说明

Provide a custom async validator directive

The following example implements the AsyncValidator interface to create an async validator directive with a custom error key.

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}); } }
      
      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});
  }
}