Описание тега angularjs-ng-form

Вложенный псевдоним директивы формы. HTML не допускает вложения элементов формы. Полезно вкладывать формы, например, если необходимо определить достоверность подгруппы элементов управления.

Сайт AngularJS

Директива, создающая экземпляр FormController.

Если указан атрибут name, контроллер формы публикуется в текущей области под этим именем.

Псевдоним: ngForm В Angular формы могут быть вложенными. Это означает, что внешняя форма действительна, если также действительны все дочерние формы. Однако браузеры не допускают вложения элементов, поэтому Angular предоставляет директиву ngForm, которая ведет себя идентично, но может быть вложенной. Это позволяет вам иметь вложенные формы, что очень полезно при использовании директив проверки Angular в формах, которые динамически генерируются с помощью директивы ngRepeat. Поскольку вы не можете динамически генерировать атрибут name входных элементов с помощью интерполяции, вы должны заключить каждый набор повторяющихся входных данных в директиву ngForm и вложить их во внешний элемент формы.

CSS классы

ng-valid Устанавливается, если форма действительна. ng-invalid Устанавливается, если форма недействительна.ng-pristine Устанавливается, если форма остается безупречной.ng-dirty Устанавливается, если форма грязная. Отправка формы и предотвращение действия по умолчанию Поскольку роль форм в клиентских приложениях Angular отличается от роли в классических приложениях туда и обратно, желательно, чтобы браузер не переводил отправку формы в полную перезагрузку страницы, которая отправляет данные в сервер. Вместо этого должна быть задействована некоторая логика javascript для обработки отправки формы в зависимости от приложения.

По этой причине Angular предотвращает действие по умолчанию (отправку формы на сервер), если для элемента не указан атрибут действия.

Вы можете использовать один из следующих двух способов указать, какой метод javascript должен вызываться при отправке формы:

Директива ngSubmit в элементе формы Директива ngClick для первой кнопки или поля ввода типа submit (input[type=submit]) Чтобы предотвратить двойное выполнение обработчика, используйте только одну из директив ngSubmit или ngClick. Это связано со следующими правилами отправки формы в спецификации HTML:

Если форма имеет только одно поле ввода, то нажатие ввода в этом поле запускает отправку формы (ngSubmit), если форма имеет 2+ поля ввода и нет кнопок или ввода [type = submit], то нажатие ввода не запускает отправку, если форма имеет одно или несколько полей ввода и одна или несколько кнопок или input [type = submit], а затем нажатие Enter в любом из полей ввода вызовет обработчик кликов на первой кнопке или input[type=submit] (ngClick) и обработчик отправки на закрывающая форма (ngSubmit) Использование

Эту директиву можно использовать как настраиваемый элемент, но помните об ограничениях IE.

как элемент: