Улучшить эту документацию Просмотреть исходный код 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();
Устанавливает форму в первоначальное состояние.
Этот метод устанавливает состояние формы
$pristineв true, состояние$dirtyв false, удаляет классng-dirtyи добавляет классng-pristine. Кроме того, он устанавливает состояние$submittedв false.Этот метод также распространяется на все элементы управления, содержащиеся в этой форме.
Установка формы в первоначальное состояние часто полезна, когда мы хотим "переиспользовать" форму после сохранения или сброса.
-
$setUntouched();
Устанавливает форму в состояние "нетронутая".
Этот метод может быть вызван для удаления класса 'ng-touched' и установки элементов управления формы в состояние "нетронутая" (класс ng-untouched).
Установка элементов управления формы в состояние "нетронутая" часто полезна при установке формы в первоначальное состояние.
-
$setSubmitted();
Устанавливает форму в состояние "отправленная".
Свойства
-
$pristine
booleanTrue, если пользователь ещё не взаимодействовал с формой.
-
$dirty
booleanTrue, если пользователь уже взаимодействовал с формой.
-
$valid
booleanTrue, если все содержащие формы и элементы управления валидны.
-
$invalid
booleanTrue, если хотя бы один содержащий элемент управления или форма невалидны.
-
$pending
booleanTrue, если хотя бы один содержащий элемент управления или форма ожидают завершения.
-
$submitted
booleanTrue, если пользователь отправил форму, даже если она невалидна.
-
$error
ObjectЭто хеш-объект, содержащий ссылки на элементы управления или формы с невалидными валидаторами, где:
- ключи — это токены валидации (имена ошибок),
-
значения — это массивы элементов управления или форм, которые имеют невалидный валидатор для данного имени ошибки.
Встроенные токены валидации:
-
email maxmaxlengthminminlengthnumberpatternrequiredurldatedatetimelocaltimeweekmonth
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/type/form.FormController