title: AngularJS $watch not working inside ng-repeat
body: <p>I'm trying to achieve auto form validation without any submit. For this reason, I added the $watch in my form.</p>
  
  <pre><code>$scope.$watch('myForm.$valid', function(newVal, oldVal) {
      console.log('watching....');
      /*
        If valid 
        perform action
      */
    });
  </code></pre>
  
  <p>My form structure is:</p>
  
  <pre><code>&lt;ul ng-controller="Ctrl"&gt;
      &lt;li ng-repeat='user in userList track by $index'&gt;
        &lt;p&gt;
          User {{$index+1}}: {{user.userType}} &lt;br/&gt;
          Designation: {{user.designation}}
        &lt;/p&gt;
        &lt;form name="myForm" class="my-form"&gt;
          &lt;label&gt;Age?:&lt;/label&gt;
          &lt;input name="userAge" type="number" ng-model="user.age" required/&gt;
        &lt;/form&gt;
      &lt;/li&gt;
      &lt;button style="margin-top:20px;" type="button" ng-click="addUser()"&gt;Add more user&lt;/button&gt;
    &lt;/ul&gt;
  </code></pre>
  
  <p>I can create multiple forms clicking the <code>Add more user</code> button. My form is under <code>userList</code> :</p>
  
  <pre><code>$scope.userList = [
      {
      userType: 'Doctor',
      designation: 'Sr. cardiologist'
      }
    ]
  </code></pre>
  
  <p><strong><a href="http://plnkr.co/edit/Svw7Xk3fLLM4ZUJ2dPU3?p=preview" rel="nofollow noreferrer">Plunker</a></strong></p>
  
  <p><strong>Problem</strong>
  I'm unable to print the <code>console.log()</code> inside my watcher if the form is valid/invalid. It only prints during page load. But if I made any changes to the form it doesn't show any console print.  </p>
  
  <p>But if I keep my form outside the ng-repeat scope it works. it prints the console item based on the validity.</p>
  
  <p>**So why it's not working inside ng-repeat?**How can I check my form that I created is valid. What can I do to make it work?
  any suggestions or example will be appreciated      </p>