title: Angular: Validation executed after the ngModelChange
body: <p>I have an input with a customValidator named <code>fooValidator</code> (what it does is irrelevant here, it's just a custom validator which validate the input if it correponds to some regexp) :</p>
  
  <pre><code>               &lt;form #contratForm="ngForm"&gt;
                      &lt;input type="text"
                             class="validate"
                             [(ngModel)]="foo"
                             name="foo"
                             ngControl="foo"
                             fooValidator
                             (ngModelChange)="blah($event)"
                             required
                      /&gt;
                  &lt;/form&gt;
  </code></pre>
  
  <p>and in my component : </p>
  
  <pre><code>blah(event) {
    if(this.contratForm.controls.foo.valid){
       console.log("Valid")
    }
  }
  </code></pre>
  
  <p>"Valid" is never shown in my console. It happens as the ngModelChange is executed before the validation. I can wrap my <code>blah</code> function in a <code>setTimeout</code> and "Valid" would appear. Is there any way to do so without the use of an hacky <code>setTimeout</code> ?</p>