title: How to use different ngModelOptions based on the ngModel's validity
body: <p>I'm currently using <code>ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }"</code> in order to try to avoid showing errors to my users while they're in the middle of filling out an input. However, I find it jarring that this also makes the errors, once they've appeared, stay longer even if the error has already been corrected.</p>
  
  <p>I was wondering if there was some (non-hacky) way of dynamically changing the ngModelOptions based on the ngModel's validity, so that if the model's valid it will only validate changes on blur, while if it's invalid it will validate immediately. The end result of this would be that errors disappear as fast as possible, while they don't appear again until absolutely necessary.</p>