Угловые 2 ошибки валидатора - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь проверить, что пароль достаточно длинный, но он отправляет эту ошибку.Я проверяю то же самое для своих электронных писем, и у меня нет проблем ..

ngOnInit() {
    this.registerForm = this.fb.group({
       username: ['', Validators.required],
       email: ['', [Validators.required,
           Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$')]],
        password: ['', Validators.required, Validators.minLength(4)],
        confirmpwd: ['', Validators.required, Validators.minLength(4)],
        birthday: ['', Validators.required]
    });
  }

ERROR Error: Expected validator to return Promise or Observable.

<div *ngIf="password.invalid && password.touched">
          <p *ngIf="password.errors?.required">
               Choose a password
          </p>
          <p *ngIf="password.errors?.minlength">
               The password is too short
          </p>
</div>

1 Ответ

0 голосов
/ 29 ноября 2018

Изменить это:

password: ['', Validators.required, Validators.minLength(4)],

На это:

password: ['', [Validators.required, Validators.minLength(4)]],

Добавить валидаторы в массив.

  • Первый элемент в массивепо умолчанию.
  • Второй элемент массива - это единственный валидатор ИЛИ массив валидаторов.
  • Третий элемент массива - это один асинхронный валидатор или массив асинхронных валидаторов.

Таким образом, второй указанный вами валидатор обрабатывается как асинхронный валидатор.

Вам нужно будет внести это изменение и в другие формы FormControls.(Адрес электронной почты на самом деле правильный.)

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