AngularJS Live Example
HTML
<script src="http://code.angularjs.org/angular-0.9.19.min.js" ng:autobind></script>
<form ng-submit="submit()" name="myForm" ng-controller="MyCtrl">
<div>
<input type="email" name="email" ng-model="formData.email" required novalidate/>
<span ng-show="(myForm.email.$dirty || submitted) && myForm.email.$error.required">
Email is required
</span>
</div>
<div>
<button type="submit">Submit</button>
</div>
</form>
JavaScript
function MyCtrl($scope){
$scope.submit = function(){
// Set the 'submitted' flag to true
$scope.submitted = true;
// Send the form to server
// $http.post ...
}
$scope.hasError = function(field, validation){
if(validation){
return ($scope.form[field].$dirty && $scope.form[field].$error[validation]) || ($scope.submitted && $scope.form[field].$error[validation]);
}
return ($scope.myForm[field].$dirty && $scope.form[field].$invalid) || ($scope.submitted && $scope.form[field].$invalid);
};
};