AngularJS Example - ng-dirty

HTML

<div ng-app="">
    <div ng-controller="Ctrl">
  <form name="myForm" >
    userType: <input name="input" ng-model="userType">
    <span class="error" ng-show="myForm.input.$error.required">Required</span><br>
    <tt>userType = {{userType}}</tt><br>
    <tt>input.$valid = {{myForm.$dirty}}</tt><br>
    <tt>myForm.input.$error = {{myForm.input.$error}}</tt><br>
    <tt>myForm.$valid = {{myForm.$valid}}</tt><br>
    <tt>myForm.$error.REQUIRED = {{!!myForm.$error.REQUIRED}}</tt><br>
   </form>
      </div>
</div>

CSS

</style> <!-- Ugly Hack due to jsFiddle issue: http://goo.gl/BUfGZ --> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<style>
.ng-invalid.ng-dirty { border: 1px solid red; }

JavaScript

function Ctrl($scope) {
  $scope.userType = '';
    $scope.$watch('myForm.$dirty',function(){
        alert($scope.myForm.$dirty);                
    });
    
     $scope.$watch('userType',function(){
                     
    });
}