form
(directive in module ng
)
Directive that instantiates
FormController
.
If name
attribute is specified, the form controller is published onto the current scope under
this name.
ngForm
In angular forms can be nested. This means that the outer form is valid when all of the child
forms are valid as well. However browsers do not allow nesting of <form>
elements, for this
reason angular provides
alias
which behaves identical to ngForm
<form>
but allows form nesting.
ng-valid
Is set if the form is valid.ng-invalid
Is set if the form is invalid.ng-pristine
Is set if the form is pristine.ng-dirty
Is set if the form is dirty.Since the role of forms in client-side Angular applications is different than in classical roundtrip apps, it is desirable for the browser not to translate the form submission into a full page reload that sends the data to the server. Instead some javascript logic should be triggered to handle the form submission in application specific way.
For this reason, Angular prevents the default action (form submission to the server) unless the
<form>
element has an action
attribute specified.
You can use one of the following two ways to specify what javascript method should be called when a form is submitted:
ngSubmit
directive on the form elementngClick
directive on the first
button or input field of type submit (input[type=submit])To prevent double execution of the handler, use only one of ngSubmit or ngClick directives. This is because of the following form submission rules coming from the html spec:
ngSubmit
)ngClick
) and a submit handler on the enclosing form (ngSubmit
)<form [name="{string}"]> </form>
name(optional) – {string=} –
Name of the form. If specified, the form controller will be published into related scope, under this name.