Improve this Doc View Source form.FormController

  1. type in module ng

FormController keeps track of all its controls and nested forms as well as the state of them, such as being valid/invalid or dirty/pristine.

Each form directive creates an instance of FormController.

Methods

  • $addControl();

    Register a control with the form.

    Input elements using ngModelController do this automatically when they are linked.

  • $removeControl();

    Deregister a control from the form.

    Input elements using ngModelController do this automatically when they are destroyed.

  • $setValidity();

    Sets the validity of a form control.

    This method will also propagate to parent forms.

  • $setDirty();

    Sets the form to a dirty state.

    This method can be called to add the 'ng-dirty' class and set the form to a dirty state (ng-dirty class). This method will also propagate to parent forms.

  • $setPristine();

    Sets the form to its pristine state.

    This method can be called to remove the 'ng-dirty' class and set the form to its pristine state (ng-pristine class). This method will also propagate to all the controls contained in this form.

    Setting a form back to a pristine state is often useful when we want to 'reuse' a form after saving or resetting it.

Properties

  • $pristine

    boolean

    True if user has not interacted with the form yet.

  • $dirty

    boolean

    True if user has already interacted with the form.

  • $valid

    boolean

    True if all of the containing forms and controls are valid.

  • $invalid

    boolean

    True if at least one containing control or form is invalid.

  • $error

    Object

    Is an object hash, containing references to all invalid controls or forms, where:

    • keys are validation tokens (error names),
    • values are arrays of controls or forms that are invalid for given error name.

    Built-in validation tokens:

    • email
    • max
    • maxlength
    • min
    • minlength
    • number
    • pattern
    • required
    • url

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