title: ng-disabled myForm.$invalid not working
body: <p>I've tried different methods on how to make my form submit button be disabled if the user hasn't filled all the required fields</p>
  
  <p>I'm trying to understand how this works since it happens randomly and I always use a similar approach.</p>
  
  <p>Here's the html:</p>
  
  <pre><code>&lt;form name="newContactForm" novalidate&gt;
    &lt;md-card layout="column" layout-align="center" layout-wrap&gt;
     &lt;md-card-content flex="50"&gt;
       &lt;div layout="row" layout-align="center" layout-wrap&gt;
         &lt;md-input-container flex="25"&gt;
           &lt;label&gt;Name&lt;/label&gt;
           &lt;input name="name" ng-model="newContact.name" required&gt;
         &lt;/md-input-container&gt;
         &lt;md-input-container flex="25"&gt;
           &lt;label&gt;Telephone&lt;/label&gt;
           &lt;input name="tel" ng-model="newContact.tel" required&gt;
         &lt;/md-input-container&gt;
         &lt;md-input-container flex="25"&gt;
           &lt;label&gt;Email&lt;/label&gt;
           &lt;input name="email" ng-model="newContact.email" required&gt;
         &lt;/md-input-container&gt;
         &lt;md-input-container flex="25"&gt;
           &lt;label&gt;Title&lt;/label&gt;
           &lt;input name="title" ng-model="newContact.title" required&gt;
         &lt;/md-input-container&gt;
         &lt;md-input-container flex="100"&gt;
           &lt;label&gt;Notes&lt;/label&gt;
           &lt;textarea name="notes" ng-model="newContact.notes" required md-maxlength="150" maxlength="150"&gt;&lt;/textarea&gt;
         &lt;/md-input-container&gt;
       &lt;/div&gt;
     &lt;/md-card-content&gt;
     &lt;md-card-actions layout="row" layout-align="end center"&gt;
       &lt;md-button ng-disabled="newContactForm.$invalid" ng-click="create(newContact)"&gt;Submit&lt;/md-button&gt;
       &lt;md-button&gt;Cancel&lt;/md-button&gt;
     &lt;/md-card-actions&gt;
    &lt;/md-card&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>This still doesn't disabled the <code>Submit</code> button, what am I doing wrong here?</p>
  
  <p><strong>MORE INFO</strong></p>
  
  <p>I have the form in an <code>md-dialog</code> if that helps.</p>
  
  <p>I also tried doing a </p>
  
  <pre><code>setTimeout(function () {
    console.log($scope.newContactForm.$valid);
  }, 2000);
  </code></pre>
  
  <p>which returns <code>Cannot read property '$valid' of undefined</code>.</p>