Я работаю над приложением Angular 6 с реактивной формой, которая содержит (помимо прочего) список ключевых слов (formarray).Пользователь может удалить ключевое слово, и есть специальный валидатор, который проверяет, что должно быть хотя бы одно ключевое слово.
Валидатор вызывается правильно и работает, однако: когда я удаляю последнее ключевое слово: тогда ключевые слова formarrayимеет ошибку и становится недействительным.но свойство projectform.keywords остается действительным, следовательно, и форма остается «действительной».Что я делаю неправильно.Как это недопустимое состояние также может стать активным в свойстве projectform.keywords, и, таким образом, форма станет недействительной?Мне нужно, чтобы форма стала недействительной при сбое моего валидатора ...
мой код:
projectForm: FormGroup;
keywords: FormArray;
ngOnInit() {
this.buildKeywordsArray();
this.projectForm = this.fb.group({
name: [this.project.name, Validators.required],
description: [this.project.description, Validators.required],
keywords: this.keywords
});
this.projectForm.statusChanges.subscribe(() => this.updateErrorMessages());
}
buildKeywordsArray() {
this.keywords = this.fb.array(this.project.keywords, PojectValidators.atLeastOneKeyword);
}