异步验证器将预期的验证器抛出到 return Promise 或 Observable
Async Validator Throw Expected validator to return Promise or Observable
我已尝试用密码值确认密码。我已经按照异步验证器标准完成了。但我想知道它不起作用并向我抛出以下错误。请告诉任何人如何解决此错误。
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.
您将在 function
中返回 object|null
。
只需将其更改为:
validPassword(control: AbstractControl) {
return observableOf('12345678910' === control.value).pipe(
map(result => result ? { invalid: true } : null)
);
}
我已尝试用密码值确认密码。我已经按照异步验证器标准完成了。但我想知道它不起作用并向我抛出以下错误。请告诉任何人如何解决此错误。
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.
您将在 function
中返回 object|null
。
只需将其更改为:
validPassword(control: AbstractControl) {
return observableOf('12345678910' === control.value).pipe(
map(result => result ? { invalid: true } : null)
);
}