title: How to access NgModel from directive in Angular 2+
body: <p>I currently have a directive that I am placing on an <code>&lt;input&gt;</code> element that will format the text to uppercase, currency, ...etc. as the user types. This all works great by implementing ControlValueAccessor, but the control validity state is not updating after the <code>writeValue</code> method executes.</p>
  
  <p>Is there a way to force the <code>FormControl</code> in the ngModel on the input to validate, or is there a way to inject the <code>NgModel</code>/<code>FormControl</code> instance into a directive that is placed on the same input? Whenever I try to inject it I get a cyclic dependency error. I'm trying to use the <code>updateValueAndValidity()</code> method on the control property of the <code>NgModel</code> instance to update the state, but this could be wrong as well.</p>
  
  <p>If there is also a better way to approach this then I'm open to suggestions as well. Basically trying to translate a directive from Angular 1.x that used <code>$formatters</code> and <code>$parsers</code> and required the <code>ngModel</code> instance...</p>
  
  <p>Let me know if you would like to see snippets of code for anything specific.</p>