I have some custom validation code, which includes a $formatter. (I store currency in pence for correctness, but display in pounds.pence.)
If the user types \'10\'
Your controller's $modelValue is being updated properly, however, but since the blur event is happening outside of angular, it seems your $viewValue is not. How about this?
elm.bind('blur', function() { ctrl.$viewValue = (ctrl.$modelValue / 100).toFixed(2); ctrl.$render(); });