AngularJS Watch Pristine/Validation
HTML
<div ng-controller="pristineCheck">
<form name="myForm">
<input type="text" id="myInput" ng-model="myText">
<div>Form Valid: {{myForm.$valid}}</div>
<div>Form Pristine: {{myForm.$pristine}}</div>
<div>Form Dirty: {{myForm.$dirty}}</div>
</form>
</div>
JavaScript
angular.module('app', [])
.controller('pristineCheck', ['$scope',
function($scope){
$scope.myText = "Hello World";
$scope.$watch('myText', function(newValue, oldValue){
alert("myText changed from '" + oldValue + "' to '" + newValue +"'");
});
$scope.$watch('myForm.$pristine', function(newValue, oldValue){
alert("pristine changed from '" + oldValue + "' to '" + newValue +"'");
});
$scope.$watch('myForm.$dirty', function(newValue, oldValue){
alert("dirty changed from '" + oldValue + "' to '" + newValue +"'");
});
}]);