angular – Async Validator Throw Expected validator返回Promise或Observable

前端之家收集整理的这篇文章主要介绍了angular – Async Validator Throw Expected validator返回Promise或Observable前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用密码值确认密码.我按照Async验证器标准完成了.但我想知道它没有工作,并给我以下错误.请告诉任何人如何解决错误.

Expected validator to return Promise or Observable.

这是我的代码.

呼叫验证器:

cPass: ['',Validators.compose([
  Validators.required,Validators.maxLength(32),Validators.minLength(10)
]),this.validPassword.bind(this)
]

自定义验证功能

validPassword(control: AbstractControl) {            
  const isEqual = Observable.of(this.password == control.value);
  return isEqual ? { valid : true } : null;         
}
这个错误说明了一切:

Expected validator to return Promise or Observable.

你在函数中返回对象| null.

只需将其更改为:

validPassword(control: AbstractControl) {
  return observableOf('12345678910' === control.value).pipe(
    map(result => result ? { invalid: true } : null)
  );
}

STABKBLITZ DEMO

原文链接:https://www.f2er.com/angularjs/142344.html

猜你在找的Angularjs相关文章