Я пытался вводить проверку костюма в зависимости от урока в сети, каждый думал, что он работает отлично, и проверка возвращает ноль или ложь, но сообщение об ошибке в html не изменилось
код проверки
export class customValidation{
static duplicateEmail(afs:AngularFirestore){
return (control:AbstractControl)=>{
let email = control.value;
return afs.collection<any>(`users`, ref=>ref.where('email','==',email)).valueChanges()
.pipe(
debounceTime(500),
take(1),
map(data => data.length ? {duplicateEmail:false} : null)
).subscribe(data=> {
console.log(data)
return data;
})
}
}
}
Код построителя форм:
this.signupForm = this.FB.group({
email: ['', [
Validators.required,
Validators.email,
customValidation.duplicateEmail(this.afs)
]],
password:['', [
Validators.required
]]
})
, а HTML-код:
{{signupForm.controls.email.invalid}}
<div *ngIf="email.invalid && email.dirty" class="danger-text">
{{email.value}} is not available
</div>
Я напечатал результат в консоли и еговернуть значение null или false по значению электронной почты, но email.invalid остается верным