Я работаю над проектом angular 7 и использую вложенные формы, реализующие интерфейс ControlValueAccessor
В случае формы, которая использует CVA, все работает нормально, но когда я использую CVA который сам использует CVA, я сталкиваюсь с проблемой проверки. Когда я устанавливаю значение последнего вложенного CVA в родительской форме в недопустимое значение, родительская форма не является недействительной. Но в случае одного вложенного CVA это работает.
В обоих случаях, когда я начинаю что-то записывать в поле ввода и мой ввод недопустим, он работает в обоих случаях. Родитель всегда недействителен, только когда я использую метод setValue, он не всегда работает.
Для большей ясности я привел очень простой пример для stackblitz: https://stackblitz.com/edit/angular-hgxo9p
Вот также скриншот с примером:
![enter image description here](https://i.stack.imgur.com/ljgFT.png)
Первый - это только один вложенный CVA. Значение 2 недопустимо, потому что должна быть минимальная длина 2. Ниже вы можете видеть, что CVA и форма в компоненте приложения неверны, как ожидалось.
Во втором примере ввод также недействителен , Здесь в обоих CVA мы можем видеть, что форма недействительна, но не в самой форме приложения.
Но, когда я начинаю изменять ввод в обоих примерах, это работает. Смотрите скриншот ниже:
![enter image description here](https://i.stack.imgur.com/cdf6C.png)
Я некоторое время анализировал, но не могу выяснить, в чем проблема или чего мне не хватает. Кто-нибудь знает, что является причиной проблемы?