ngModel filters / parsers
module.directive('lowercase', function() {
return {
restrict: 'A', // better to have it as attribute since it's combined with ng-model anyway
require: 'ngModel', // need to inject ngModel
// main function with ngModel passed
link: function(scope, element, attr, ngModel) {
// define a parser for input
function fromUser(text) {
return (text || '').toUpperCase();
}
// define a filter for output
function toUser(text) {
return (text || '').toLowerCase();
}
// register them by adding to existing parsers/filters
ngModel.$parsers.unshift(fromUser);
ngModel.$formatters.unshift(toUser);
}
};
});