Error in asynchronous validation:
EXCEPTION: Cannot read property 'subscribe' of undefined
Registro.ts
constructor(public navCtrl: NavController, public navParams: NavParams,
public alertCtrl: AlertController, public formBuilder: FormBuilder, public db: VentasServicio,
public api: ApiRest) {
let isUsuarioInventiva = (control: FormControl) => {
if (control.value !== "") {
this.api.getUsuarioInventiva(control.value).subscribe(data => {
if (data === null) {
control.setErrors({ "is_not_usuario_inventiva": true });
return { "is_not_usuario_inventiva": true };
}
});
}
};
this.registroFrm = this.formBuilder.group({
'usuarioInventiva': ['', Validators.required, isUsuarioInventiva]
});
}
Registro.html
<ion-item>
<ion-label stacked>Usuario Inventiva</ion-label>
<ion-input formControlName="usuarioInventiva" type='text' autocapitalize="off"></ion-input>
</ion-item>
<ion-item *ngIf="registroFrm.get('usuarioInventiva').pending">
<p>Verificando en Inventiva...</p>
</ion-item>
<ion-item *ngIf="registroFrm.get('usuarioInventiva').errors && registroFrm.get('usuarioInventiva').dirty">
<p *ngIf="registroFrm.get('usuarioInventiva').hasError('required')" color="danger">Campo requerido</p>
<p *ngIf="registroFrm.get('usuarioInventiva').hasError('is_not_usuario_inventiva')" color="danger">Usuario no encontrado</p>
</ion-item>
Thanks!