угловая таможенная проверка и пожарная база - PullRequest
0 голосов
/ 27 сентября 2018

Я пытался вводить проверку костюма в зависимости от урока в сети, каждый думал, что он работает отлично, и проверка возвращает ноль или ложь, но сообщение об ошибке в 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>

enter image description here

Я напечатал результат в консоли и еговернуть значение null или false по значению электронной почты, но email.invalid остается верным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...