Estoy tratando de hacer una validación personalizada en Angular 5 pero me enfrento al siguiente error
Expected validator to return Promise or Observable
Solo quiero devolver un error al formulario si el valor no coincide con el requerido, aquí está mi código:
Este es el componente donde esta mi forma
constructor(fb: FormBuilder, private cadastroService:CadastroService) {
this.signUp = fb.group({
"name": ["", Validators.compose([Validators.required, Validators.minLength(2)])],
"email": ["", Validators.compose([Validators.required, Validators.email])],
"phone": ["", Validators.compose([Validators.required, Validators.minLength(5)])],
"cpf": ["", Validators.required, ValidateCpf]
})
}
Este código está en el archivo con la validación que quiero implementar:
import { AbstractControl } from '@angular/forms';
export function ValidateCpf(control: AbstractControl){
if (control.value == 13445) {
return {errorCpf: true}
}
return null;
}
¿Alguien me puede ayudar? ¿Ese tipo de validación solo funciona con observables o puedo hacerlo sin ser una promesa u observable? Gracias