diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index 7acf65596a45..70ac0d41ccec 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -2333,11 +2333,13 @@ var maxlengthDirective = function() { var maxlength = 0; attr.$observe('maxlength', function(value) { maxlength = int(value) || 0; + if (!angular.isDefined(ctrl.$validators.maxlength)) { + ctrl.$validators.maxlength = function(value) { + return ctrl.$isEmpty(value) || value.length <= maxlength; + }; + } ctrl.$validate(); }); - ctrl.$validators.maxlength = function(value) { - return ctrl.$isEmpty(value) || value.length <= maxlength; - }; } }; }; @@ -2352,11 +2354,13 @@ var minlengthDirective = function() { var minlength = 0; attr.$observe('minlength', function(value) { minlength = int(value) || 0; + if (!angular.isDefined(ctrl.$validators.minlength)) { + ctrl.$validators.minlength = function(value) { + return ctrl.$isEmpty(value) || value.length >= minlength; + }; + } ctrl.$validate(); }); - ctrl.$validators.minlength = function(value) { - return ctrl.$isEmpty(value) || value.length >= minlength; - }; } }; };