Spec-Zone.ru › Angular.js 1.6

Улучшить эту документацию Просмотреть исходный код 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

  • $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();

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

  • $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–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ng/type/form.FormController

Spec-Zone.ru

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