Roadmap › AngularJS (1.x) — Legacy › Module: Scope, Digest and Directives
Lessons in this course (13)
12. Forms and validation
IntermediateMediumLesson 12 of 13
html
<form name="orderForm" ng-submit="orderForm.$valid && vm.save()" novalidate>
<input name="email" type="email" ng-model="vm.email" required>
<div ng-messages="orderForm.email.$error" ng-if="orderForm.email.$touched">
<p ng-message="required">Email is required</p>
<p ng-message="email">Enter a valid email</p>
</div>
<button ng-disabled="orderForm.$invalid">Save</button>
</form>Form/field states: $pristine/$dirty, $valid/$invalid, $touched/$untouched, $submitted, $error. Custom validators via ngModel.$validators / $asyncValidators in a directive.