AngularJS Formly — повторяющаяся проверка раздела

На Angular-formly.com есть пример того, как сделать повторяющийся раздел: http://angular-formly.com/#/example/advanced/repeating-section

Если вы измените поле Name of Investment и пометите его как обязательное, оно не будет помечено (таким образом, поле не будет выделено красным) при нажатии кнопки отправки. Я считаю, что это должно произойти, поскольку это необходимо.

Глядя на вывод формы в нижней части экрана, вы можете увидеть, что $submitted по-прежнему установлено на false, что означает, что экран не считает, что ему нужно беспокоиться о том, чтобы пометить поле красным. Если вы вручную щелкнете в поле и щелкнете (ничего не вводя), то поле правильно будет выделено красным.

Это повторяющееся поведение создается с помощью внутренних массивов полей. Может ли это быть связано с тем, как работает кнопка отправки?


person Holt    schedule 13.08.2015    source источник


Ответы (1)


Я обновил пример. Поскольку этот пример был изначально написан, angular-formly добавил поведение, которое улучшило этот вариант использования. Теперь все разделы могут совместно использовать один и тот же экземпляр NgFormController, просто передав существующий NgFormController через атрибут form. Вы видите это изменение в примере. Удачи!

person kentcdodds    schedule 14.08.2015
comment
Я также отключил кнопку отправки, когда форма недействительна, чтобы было более понятно, когда форма недействительна (вы заметите, что переключатели необходимы, и поэтому она начинается как отключенная. - person kentcdodds; 14.08.2015
comment
Просто для ясности: изменение, о котором вы говорите, относится к formly-form в шаблоне repeatSection? - person Holt; 14.08.2015
comment
Круто, я установил исправление, и теперь это выглядит хорошо. Сейчас проверка применяется ко всем повторяющимся разделам. Случайный вопрос... проверка (например, требуется) проверяется только в новейшем созданном разделе, и если она завершается неудачей (и должно отображаться требуемое сообщение), она фактически показывает сообщение в этом поле во всех повторяющихся разделах. .даже если поле этого конкретного раздела также заполнено. Любые идеи? - person Holt; 14.08.2015
comment
Чтобы лучше сузить мой вопрос из предыдущего... снова взглянув на ваш пример повторителя, все поля имеют одно и то же имя модели только в другом элементе массива investments. Можно ли дать этим полям уникальное имя? (investmentName_1, investimentName_2 и т. д.) Моя проверка помечает одно и то же поле среди всех повторяющихся разделов всякий раз, когда один из них не проходит проверку. У меня такое ощущение, что это потому, что все они имеют одно и то же имя модели, и поэтому мой код проверки помечает их всех. - person Holt; 14.08.2015