Actualmente estoy trabajando en un formulario de registro con fuego angular. Quiero crear una validación personalizada que busque en la colección de usuarios y devuelva verdadero si displayName ya existe.
Mi código se ve así
username: new UntypedFormControl('', [ Validators.required, Validators.minLength(6), Validators.maxLength(12), this.checkUsername(this.firestore), ]) checkUsername(firestore: AngularFirestore) { return (control: AbstractControl) => { const displayName = control.value return firestore .collection('users', (ref) => ref.where('displayName', '==', displayName)) .snapshotChanges() .subscribe((docs) => { // loop through each item in the array and log value docs.map((doc) => { return doc.payload.doc.exists ? { usernameUnavailable: true } : null }) }) } }incluso si doc.payload.doc.exist devuelve verdadero, no se agrega ningún error personalizado al campo de formulario. ¿Me estoy perdiendo de algo?