Поскольку у вас уже есть
@ViewChild(SharedfileComponent) child1Component: SharedfileComponent;
, вам просто нужно вызвать проверку оттуда, поэтому вы можете просто использовать:
this.child1Component.formFiles.invalid
или this.child1Component.formFiles.valid
поэтому просто добавьте это в свой метод onSubmitFarmLocation
:
onSubmitFarmLocation() {
this.isSubmitted = true;
this.isShowErrors = true;
if (this.formLocation.invalid ) {
return;
}
if (this.child1Component.formFiles.invalid) {
console.log('form file invalid');
return;
}
console.log(this.formLocation.value, this.formLocation.errors)
}
update:
, если вы хотите отображать сообщения об ошибках в общем компоненте, сначала вы использовали isSubmitted в вашем html, но не в вашем ts, поэтому он никогда не будет отображаться. сложная часть - make onSubmitFarmLocation()
для возврата логического значения, и от него зависит, может ли отправка продолжаться или нет.
sharedfile.component.ts
onSubmitFarmLocation(): Boolean {
this.isSubmitted = true;
return this.formLocation.valid;
}
и в вашем компоненте, во время отправки используйте его как:
onSubmitFarmLocation() {
this.isSubmitted = true;
this.isShowErrors = true;
this.child1Component.onSubmitFarmLocation();
if (this.formLocation.invalid ) {
return;
}
if (this.child1Component.formLocation.invalid) {
return;
}
console.log(this.formLocation.value, this.formLocation.errors)
}
обновленный stackblitz https://stackblitz.com/edit/angularfi-leupload-hvlegz