Улучшить эту документацию Просмотреть исходный код form.FormController
- тип в модуле ng
FormController отслеживает все свои элементы управления и вложенные формы, а также их состояние, например, валидность/невалидность или грязность/чистота.
Каждый директива form создаёт экземпляр FormController.
Методы
-
$rollbackViewValue();
Откатывает все элементы управления формы, ожидающие обновления в
$modelValue.Обновления могут ожидаться из-за задержки события или потому, что вход ждёт некоторого будущего события, определённого в
ng-model-options. Этот метод обычно используется кнопкой сброса формы, которая используетng-model-optionsдля ожидания обновлений. -
$commitViewValue();
Подтверждает все элементы управления формы, ожидающие обновления в
$modelValue.Обновления могут ожидаться из-за задержки события или потому, что вход ждёт некоторого будущего события, определённого в
ng-model-options. Этот метод редко требуется, так какNgModelControllerобычно обрабатывает вызов этого метода в ответ на события ввода. -
$addControl(control);
Регистрирует элемент управления в форме. Элементы ввода с использованием ngModelController делают это автоматически при связывании.
Обратите внимание, что текущее состояние элемента управления не будет отражено в новой родительской форме. Это не проблема при обычном использовании, так как только что скомпилированные и связанные элементы управления находятся в состоянии
$pristine.Однако, если метод используется программно, например, для добавления динамически созданных элементов управления или элементов управления, которые были ранее удалены без уничтожения соответствующего DOM-элемента, разработчик несет ответственность за обеспечение распространения текущего состояния в родительскую форму.
Например, если добавляется элемент управления вводом, который уже
$dirtyи имеет свойства$error, вызов$setDirty()и$validate()впоследствии распространит состояние в родительскую форму.Параметры
Параметр Тип Подробности control objectобъект управления, либо
form.FormController, либоngModel.NgModelController -
$removeControl(control);
Удаляет элемент управления из формы.
Элементы ввода с использованием ngModelController делают это автоматически при уничтожении.
Обратите внимание, что состояние валидации удалённого элемента управления (
$errorsи т.д.) будет удалено из формы.$dirty,$submittedсостояния не будут изменены, потому что ожидаемое поведение может отличаться в каждом случае. Например, удаление единственного$dirtyэлемента управления из формы может или не может означать, что форма всё ещё$dirty.Параметры
Параметр Тип Подробности control objectобъект управления, либо
form.FormController, либоngModel.NgModelController -
$setValidity();
Устанавливает валидность элемента управления формой.
Этот метод также распространяется на родительские формы.
-
$setDirty();
Устанавливает форму в грязное состояние.
Этот метод можно вызвать, чтобы добавить класс 'ng-dirty' и установить форму в грязное состояние (класс ng-dirty). Этот метод также распространяется на родительские формы.
-
$setPristine();
Устанавливает форму в первоначальное состояние.
Этот метод можно вызвать, чтобы удалить класс 'ng-dirty' и установить форму в первоначальное состояние (класс ng-pristine). Этот метод также распространяется на все элементы управления, содержащиеся в этой форме.
Установка формы обратно в первоначальное состояние часто бывает полезной, когда мы хотим «повторно использовать» форму после сохранения или сброса.
-
$setUntouched();
Устанавливает форму в нетронутое состояние.
Этот метод можно вызвать, чтобы удалить класс 'ng-touched' и установить элементы управления формы в нетронутое состояние (класс ng-untouched).
Установка элементов управления формы обратно в нетронутое состояние часто бывает полезной при возвращении формы в первоначальное состояние.
-
$setSubmitted();
Устанавливает форму в состояние отправки.
Свойства
-
$pristine
booleanИстина, если пользователь ещё не взаимодействовал с формой.
-
$dirty
booleanИстина, если пользователь уже взаимодействовал с формой.
-
$valid
booleanИстина, если все содержащиеся формы и элементы управления валидны.
-
$invalid
booleanИстина, если хотя бы один содержащийся элемент управления или форма невалидны.
-
$pending
booleanИстина, если хотя бы один содержащийся элемент управления или форма находятся в ожидании.
-
$submitted
booleanИстина, если пользователь отправил форму, даже если она невалидна.
-
$error
ObjectОбъект-хеш, содержащий ссылки на элементы управления или формы с невыполненными валидаторами, где:
- ключи — маркеры валидации (имена ошибок),
-
значения — массивы элементов управления или форм, у которых есть невыполненный валидатор для данного имени ошибки.
Встроенные маркеры валидации:
-
email maxmaxlengthminminlengthnumberpatternrequiredurldatedatetimelocaltimeweekmonth
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/type/form.FormController