Реактивная форма не помечена как недействительная, даже если ее элементы управления помечены как недействительные. Почему? - PullRequest
0 голосов
/ 13 января 2020

Наличие формы myForm и одного из ее потомков, называемого myChildren. Когда элемент управления myChildren становится недействительным:

Ожидаемое поведение : если какой-либо из дочерних элементов недопустим, родитель также должен быть помечен как недопустимый.

myForm.invalid // true
myForm.controls.myChildren.invalid // true

Фактическое поведение: статус 'myChildren' не всплывает до его родителей, а форма помечается как VALID, даже если один из его элементов управления помечен как INVALID

myForm.invalid // false
myForm.controls.myChildren.invalid // true

Почему это работает иначе? Как сохранить статус в syn c (Если какой-либо дочерний элемент управления или внучатый элемент управления помечен как недействительный, вся форма должна быть помечена как недействительная)

1 Ответ

0 голосов
/ 13 января 2020

Проблема была вызвана тем, как были созданы дочерние элементы управления.

 // this works as expected (form im marked invalid when myControl becomes invalid
 this.form.addControl('myControl', this.fb.control(undefined)) 

 // this does not work as expected (validation does not bubble up)
 this.form.controls = {myControl: this.fb.control(undefined) } 
...