I was writing code for implementing validation on a input text box. Which should allow the user to enter only numbers. Almost succeeded in implementing this functionality, but faced one difficulty : I'm not able to delete the last character entered.
app.directive('num', function () { return { restrict: 'A', require: 'ngModel', link: function (scope, el, attrs, ctrl) { var lastValidValue; var NUMBER_REGEXP = /^[0-9]+$/; ctrl.$parsers.push(function (value) { console.log('inside parsers') console.log("Last " + lastValidValue + ", View " + ctrl.$viewValue + ", model " + ctrl.$viewValue); if (NUMBER_REGEXP.test(value)) { console.log('true') lastValidValue = value; } else { ctrl.$viewValue = lastValidValue; ctrl.$render(); } console.log("Last " + lastValidValue + ", View " + ctrl.$viewValue + ", model " + ctrl.$viewValue); return lastValidValue; }); } } })
Please help me to tackle the issue.