Spec-Zone.ru › Angular.js 1.8

Улучшить эту документацию Просмотреть исходный код form.FormController

  1. тип в модуле 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

  • $getControls();

    Этот метод возвращает поверхностную копию элементов управления, которые в настоящее время являются частью этой формы. Элементы управления могут быть экземплярами FormController («дочерние формы») и NgModelController. Если вам нужен доступ к элементам управления дочерних форм, вы должны вызывать $getControls() рекурсивно на них. Это можно использовать, например, для итерации по всем элементам управления для их проверки.

    Элементы управления можно получить обычным способом, но добавление или удаление элементов управления из массива не повлияет на форму. Вместо этого используйте $addControl() и $removeControl() для этого случая. Аналогично, добавление элемента управления в форму или удаление из формы не отражается в поверхностной копии. Это означает, что вы должны получать свежую копию из $getControls() каждый раз, когда вам нужен доступ к элементам управления.

    Возвращаемое значение

    Array

    Элементы управления, которые в настоящее время являются частью этой формы

  • $removeControl(control);

    Удаление элемента управления из формы.

    Элементы ввода с ngModelController делают это автоматически при уничтожении.

    Обратите внимание, что из формы будет удалено только состояние валидации удаленного элемента управления ($errors и т. д.). $dirty, $submitted состояния не изменятся, потому что ожидаемое поведение может отличаться в разных случаях. Например, удаление единственного элемента управления $dirty из формы может означать, что форма по-прежнему $dirty.

    Параметры

    Параметр Тип Подробности
    control object

    Объект управления, либо form.FormController, либо ngModel.NgModelController

  • $setDirty();

    Устанавливает форму в грязное состояние.

    Этот метод можно вызвать для добавления класса 'ng-dirty' и установки формы в грязное состояние (класс ng-dirty). Этот метод также будет распространяться на родительские формы.

  • $setPristine();

    Устанавливает форму в первоначальное состояние.

    Этот метод устанавливает состояние формы $pristine в true, состояние $dirty в false, удаляет класс ng-dirty и добавляет класс ng-pristine. Кроме того, он устанавливает состояние $submitted в false.

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

    Установить форму обратно в первоначальное состояние часто бывает полезно, когда мы хотим «переиспользовать» форму после сохранения или сброса.

  • $setUntouched();

    Устанавливает форму в состояние нетронутости.

    Этот метод можно вызвать для удаления класса 'ng-touched' и установки элементов управления формы в состояние нетронутости (класс ng-untouched).

    Установить элементы управления формы обратно в состояние нетронутости часто бывает полезно при установке формы обратно в первоначальное состояние.

  • $setSubmitted();

    Устанавливает форму в состояние $submitted. Это также установит $submitted на всех дочерних и родительских формах формы.

  • $setValidity(validationErrorKey, isValid, controller);

    Изменить состояние валидности формы и уведомить родительскую форму (если она есть).

    Разработчики приложений редко будут вызывать этот метод напрямую. Он используется внутри, методом NgModelController.$setValidity(), для распространения состояния валидности элемента управления на родительскую FormController.

    Параметры

    Параметр Тип Подробности
    validationErrorKey string

    Имя валидатора. Ключ validationErrorKey будет назначен либо $error[validationErrorKey] , либо $pending[validationErrorKey] (для невыполненных $asyncValidators ), чтобы он был доступен для привязки данных. Ключ validationErrorKey должен быть в формате camelCase и преобразуется в dash-case для имени класса. Например, myError приведет к классам ng-valid-my-error и ng-invalid-my-error и может быть привязан как {{ someForm.$error.myError }}.

    isValid boolean

    Является ли текущее состояние валидным (true), невалидным (false), ожидающим (undefined) или пропущенным (null). Ожидание используется для невыполненных $asyncValidators . Пропуск используется AngularJS, когда валидаторы не выполняются из-за ошибок разбора и когда $asyncValidators не выполняются, потому что любой из $validators не прошёл.

    controller NgModelControllerFormController

    Элемент управления, состояние валидности которого вызывает изменение.

Свойства

  • $pristine

    boolean

    True, если пользователь еще не взаимодействовал с формой.

  • $dirty

    boolean

    True, если пользователь уже взаимодействовал с формой.

  • $valid

    boolean

    True, если все содержащиеся формы и элементы управления валидны.

  • $invalid

    boolean

    True, если хотя бы один содержащий элемент управления или форма невалидны.

  • $submitted

    boolean

    True, если пользователь отправил форму, даже если она невалидна.

  • $pending

    Object

    Хэш-объект, содержащий ссылки на элементы управления или формы с ожидающими валидаторами, где:

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

    См. $error для списка встроенных токенов валидации.

  • $error

    Object

    Хэш-объект, содержащий ссылки на элементы управления или формы с невыполненными валидаторами, где:

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

      Встроенные токены валидации:

    • email
    • max
    • maxlength
    • min
    • minlength
    • number
    • pattern
    • required
    • url
    • date
    • datetimelocal
    • time
    • week
    • month

© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ng/type/form.FormController

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API