Spec-Zone.ru › Angular.js 1.7

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

  1. тип в модуле ng

Обзор

FormController отслеживает все свои элементы управления и вложенные формы, а также их состояние, например, валидность/невалидность или грязность/чистоту.

Каждый директива формы создаёт экземпляр 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 для всех дочерних и родительских форм формы.

  • $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.7.8/docs/api/ng/type/form.FormController

Spec-Zone.ru

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