Я работаю над требованием, при котором я должен пройти через элементы управления 'formArray', определенные в файле component.ts, чтобы установить проверки при отправке формы.Я получаю сообщение об ошибке типа «.forEach не является функцией». Мой код указан ниже:
component.ts
ip_addresses_arr: any;
this.companyForm = this.fb.group({
company_ip_addresses: this.fb.array([this.fb.group({
id: 0,
start_ip: new FormControl('', Validators.pattern("^([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})$")),
end_ip: new FormControl('', Validators.pattern("^([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})[.]([0-9]{1,3})$"))
})]),
});
Мой forEachloop в formArray:
saveCompanyInfo() {
this.ip_addresses_arr = this.companyForm.get('company_ip_addresses');
this.ip_addresses_arr.forEach(eachfield => {
console.log("each field",this.ip_addresses_arr);
if(eachfield.start_ip != "" && eachfield.end_ip == ""){
console.log("coming inside end_ip is empty");
eachfield.end_ip.setErrors({'incorrect': true});
eachfield.end_ip.markAsTouched();
}else if(eachfield.end_ip != "" && eachfield.start_ip == ""){
console.log("coming inside start_ip is empty");
eachfield.start_ip.setErrors({'incorrect': true});
eachfield.start_ip.markAsTouched();
}else{
eachfield.start_ip.setErrors(null);
eachfield.end_ip.setErrors(null);
}
});
if (this.companyForm.valid) {
-----------------
-----------------
}
}
Моя проблема заключается в том, что .forEach не является функцией .Может кто-нибудь, пожалуйста, объясните мне, что не так в коде.Любая помощь будет оценена.Спасибо.