Setting the underlying model causes the mismatch between model and $modelValue that fires the $formatters pipeline. https://github.com/angular/angular.js/blob/v1.1.4/src/ng/directive/input.js#L1046-1066