Is there a way to not bind value to model , and ONLY bind it to model when value is valid.
            Asked
            
        
        
            Active
            
        
            Viewed 194 times
        
    0
            
            
        - 
                    you could use `$validator` on `ngModel` from directive.. – Pankaj Parkar Nov 16 '15 at 06:39
1 Answers
1
            Use $parsers. The example below restricts input to your model for numbers only. Obviously you can change that to be whatever you require to make your input valid.
angular.module('app').
directive('onlyDigits', function () {
    return {
        restrict: 'A',
        require: '?ngModel',
        link: function (scope, element, attrs, modelCtrl) {
            modelCtrl.$parsers.push(function (inputValue) {
                if (inputValue == undefined) return '';
                var transformedInput = inputValue.replace(/[^0-9]/g, '');
                if (transformedInput !== inputValue) {
                    modelCtrl.$setViewValue(transformedInput);
                    modelCtrl.$render();
                }
                return transformedInput;
            });
        }
    };
});
<input type="text" name="number" only-digits>
 
    
    
        Community
        
- 1
- 1
 
    
    
        Brian McAuliffe
        
- 2,099
- 1
- 16
- 13
