title: AbstractControl.setErrors does not stick in angular 2
body: <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>@ViewChild('adjustmentTemplateForm')
  private adjustmentTemplateForm: NgForm;
  
  onInputChanged(): void {
    let formField: AbstractControl = this.adjustmentTemplateForm.form.controls[parameterValueField];
  
    if (1 == 1) {
      formField.setErrors({
        "notUnique": true
      });
      parameterValueObject.isParameterValueValid = false;
    } else {
      this.form.setErrors(null);
      parameterValueObject.isParameterValueValid = true;
    }
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;form #adjustmentTemplateForm="ngForm" novalidate&gt;
    &lt;fieldset&gt;
      &lt;input type="text" [(ngModel)]="myVal" (ngModelChange)="onInputChanged()" /&gt;
    &lt;/fieldset&gt;
  &lt;/form&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>So on the sample above, after the line "parameterValueObject.isParameterValueValid = false;" has executed, "this.adjustmentTemplateForm.valid" will return false as long as I am still in the onInputChanged() method.  If I come back to this method again or pass the form object, "this.adjustmentTemplateForm.valid" will return true. I need to be able to manually set this form to be valid and invalid depending on the validation done on the onInputChanged().</p>
  
  <p>Thanks.</p>