非同步驗證器必須回傳 promise 或 observable,而且無論驗證失敗或成功,都必須將它們發出或 resolve。特別是,它們必須實作 AsyncValidatorFn API
export function isTenAsync(control: AbstractControl): Observable<ValidationErrors | null> {
const v: number = control.value;
if (v !== 10) {
// Emit an object with a validation error.
return of({'notTen': true, 'requiredValue': 10});
}
// Emit null, to indicate no error occurred.
return of(null);
}
如何除錯
你是不是誤把同步驗證器當成非同步驗證器來使用了?