угловая проверка формы до проверки - PullRequest
0 голосов
/ 20 сентября 2019

В проекте Angular 8,

У меня есть компонент создания и редактирования.

Я только что продублировал / реорганизовал создание, чтобы выполнить редактирование.

по прибытии в редактирование-мод компонента подписывается на субъект поведения, который был следующим за объектом, подлежащим редактированию (поскольку это субъект поведения, независимо от таймфрейма, мой компонент правильно создает экземпляр объекта)

в случае редактирования вместоСоздание экземпляра формы с пустыми значениями Я создаю экземпляр с восстановленными значениями прямо вверх.

хорошо.

Теперь для пользователя это выглядит так, будто он редактирует этот объект.

Проблема в том, что условия проверки формы были, конечно, ранее выполнены для объекта, который должен быть создан в первую очередь, поэтому кнопка «Отправить» выделена и готова к работе.

Я ожидал, что затронутое свойство уже будет условием проверки ичтобы кнопка отправки была отключена до тех пор, пока значения не будут затронуты.

(отличным было бы идеально, но касаниехорошая отправная точка)

сейчас моя форма редактирования начинается как действительная, и я не хочу этого.

Я не хочу "взломать" это, установив одно из полейнедопустимый флаг, потому что я не знаю заранее, что пользователь захочет редактировать, и я хочу, чтобы это было любое поле, а пользователю нужно только отредактировать поле 1-n, чтобы форма была действительной.

1 Ответ

2 голосов
/ 20 сентября 2019

Для угловых ^ 8:

Отметьте форму как нетронутую после установки значений для элементов управления:

this.form.markAsPristine();

И добавьте кнопку условия отправки, чтобы отключить ее, если форманетронутый:

<button type="submit" [disabled]="form.pristine">Save</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...