| 34830 | * </example> |
| 34831 | */ |
| 34832 | var maxlengthDirective = function() { |
| 34833 | return { |
| 34834 | restrict: 'A', |
| 34835 | require: '?ngModel', |
| 34836 | link: function(scope, elm, attr, ctrl) { |
| 34837 | if (!ctrl) return; |
| 34838 | |
| 34839 | var maxlength = -1; |
| 34840 | attr.$observe('maxlength', function(value) { |
| 34841 | var intVal = toInt(value); |
| 34842 | maxlength = isNumberNaN(intVal) ? -1 : intVal; |
| 34843 | ctrl.$validate(); |
| 34844 | }); |
| 34845 | ctrl.$validators.maxlength = function(modelValue, viewValue) { |
| 34846 | return (maxlength < 0) || ctrl.$isEmpty(viewValue) || (viewValue.length <= maxlength); |
| 34847 | }; |
| 34848 | } |
| 34849 | }; |
| 34850 | }; |
| 34851 | |
| 34852 | /** |
| 34853 | * @ngdoc directive |