Представляет список ошибок проверки из вложенной родительской / дочерней формы.Как мне это сделать, используя угловые ts в приложении с реактивной формой
Мне удалось внедрить мою дочернюю форму с помощью учебника https://www.youtube.com/watch?v=BP6E4rW5EPA&list=PL6n9fhu94yhWNJaDgh0mfae_9xoQ4E_Zj&index=14, но у меня возникли некоторые проблемы, связанные с очисткой проверки дочерней формыкогда форма выключена.Скрипт ниже просматривает мою форму и возвращает список полей.Часть «if» моего оператора проходит через любые «дочерние» элементы управления и добавляет ее в список.Этот список затем сравнивается с предварительно определенным списком ключевых: значимых полей, которые находятся в списке полей, которые должны быть проверены.Это, в свою очередь, сопоставляет ключ и возвращает значение вместе с сообщением о проверке в пользовательский интерфейс.
logValidationErrors(group: FormGroup = this.requestFormGroup): void {
Object.keys(group.controls).forEach((key: string) => {
const abstractControl = group.get(key);
if (abstractControl instanceof FormGroup) {
this.logValidationErrors(abstractControl);
} else {
this.formErrors[key] = '';
if (abstractControl && !abstractControl.valid) {
const messages = this.validationMessages[key];
for (const errorKey in abstractControl.errors) {
if (errorKey) {
this.formErrors[key] += messages[errorKey];
}
}
}
}
});
const filteredErrors = Object.values(this.formErrors).filter(
values => values.length > 0
);
this.hasError = filteredErrors;
}
Когда я загружаю форму, она возвращает родительскую проверку в виде списка для пользовательского интерфейса.Когда я переключаю дочернюю форму для отображения, она добавляет свои поля проверки в список.Это правильное поведение.Проблема в том, что когда я отключаю его, список проверки не обновляется, чтобы исключить проверку дочерней формы.