во время моего Angular проекта произошла особая ошибка. Как вы все знаете метод markAsDirty () для AbstractControl, он работает так, как задумано, почти во всех случаях. Но тогда у меня есть один случай, когда он не работает
addDriver() {
this.drivers.push(
this.fb.group({
name: this.fb.control('', Validators.required),
id: this.fb.control('', Validators.required),
type: this.fb.control(''),
method: this.fb.control(''),
property_type: this.fb.control(''),
range: this.fb.group({
first_value: this.fb.control('', [AdddriverValidators.onlyNumberNegativeDOT2MAX15]),
last_value: this.fb.control('', [AdddriverValidators.onlyNumberNegativeDOT2MAX15]),
unit_range: this.fb.control('', [])
}),
value: this.fb.array([]),
faunalDetails: this.fb.array([])
})
);
this.adddriverForm.markAsDirty();
this.updateErrorMessages();
Но здесь он не работает для формы. Я нашел исправление, но этот код кажется очень грязным, если я помещу его в таймер, он будет работать как положено.
timer().subscribe(val => {
this.adddriverForm.markAsDirty();
});
Надеюсь, что кто-нибудь может помочь, спасибо!