FormBuilder Control causing "Expression has changed after it was checked" exception
<p>I have a form that is being instantiated programatically via <code>DynamicComponentLoader::loadIntoLocation</code>. The form code is below:</p>

<pre><code>constructor (
    private _builder: FormBuilder
) {
    this.editForm = _builder.group({
        name: ['', Validators.required],
        email: ['', Validators.compose([Validators.required, Helpers.emailValidator])],
        phone: [''],
        phoneAlt: [''],
        location: [''],
        dob: [''],
        bio: [''],
    });
}
</code></pre>

<p>You'll notice that some of the forms don't have validators (as far as I can tell, this is the same as using <code>Validators.nullValidator</code>, I've tested with both). </p>

<p>In my template I have the following code (for each control):</p>

<pre><code>&lt;label for="phone"&gt;Contact Number &lt;span *ngIf="!phone.valid"&gt;- {{e(phone)}}&lt;/span&gt;&lt;/label&gt;
&lt;input type="text" name="phone" id="phone" ngControl="phone" #phone="ngForm"&gt;
</code></pre>

<p>The first control that doesn't have a validator throws the following exception twice when it hits the <code>!phone.valid</code> part of the template:</p>

<pre><code>EXCEPTION: Expression '!phone.valid in e@15:43' has changed after it was checked. Previous value: 'true'. Current value: 'false' in [!phone.valid in e@15:43]
</code></pre>

<p>At no point am I touching the controls or <code>this.editForm</code> after the initial creation, so, as far as my code is concerned, nothing should be changing.</p>

<p>I'm aware that I can suppress the errors by calling <code>enableProdMode()</code> but I'd rather fix the problem than hide it.</p>

<p><strong>Edit (8th Feb):</strong> I have since tried moving the contents of the modal to a separate page, but the errors persist. This would suggest the issue is not related to the way I am creating and loading the modals, but rather the ControlGroup or FormBuilder.</p>

<p><strong><a href="http://plnkr.co/edit/YBU0TRyGI4uMx2HCosqB?p=preview" rel="noreferrer">Plunker of the issue</a></strong> | <a href="http://plnkr.co/edit/KkgSU3I44CZGujsrfbE9?p=preview" rel="noreferrer">Plunker without modal</a></p>