У меня проблема с реактивными формами - мой repeatPassword не обновляется. Если я что-то напишу в метке «пароль», то в «repeatPassword» и еще раз в «пароль» второй не помечается как недействительный.
Поэтому я решил сделать что-то вроде этого:
if (this.form.get('password').value !== this.form.get('passwordRepeat').value) {
this.form.get('passwordRepeat').setErrors({'invalid': true});
}
if (this.form.get('password').value === this.form.get('passwordRepeat').value &&
!this.form.get('passwordRepeat').hasError) {
this.form.get('passwordRepeat').setErrors({'invalid': null});
}
Код выглядит нормально до тех пор, пока я не попытаюсь установить недействительным значение null - реактивные формы рассматривают его как ошибку, поэтому я не могу отправить, а ngif показывает ошибку.
Та же ошибка возникает, когда я пытаюсь принять правила - снятие флажка не помечает его как недействительное.
Есть ли вариант, который заставит валидаторы снова запустить?