| 21287 | |
| 21288 | |
| 21289 | var maxlengthDirective = function() { |
| 21290 | return { |
| 21291 | restrict: 'A', |
| 21292 | require: '?ngModel', |
| 21293 | link: function(scope, elm, attr, ctrl) { |
| 21294 | if (!ctrl) return; |
| 21295 | |
| 21296 | var maxlength = -1; |
| 21297 | attr.$observe('maxlength', function(value) { |
| 21298 | var intVal = int(value); |
| 21299 | maxlength = isNaN(intVal) ? -1 : intVal; |
| 21300 | ctrl.$validate(); |
| 21301 | }); |
| 21302 | ctrl.$validators.maxlength = function(modelValue, viewValue) { |
| 21303 | return (maxlength < 0) || ctrl.$isEmpty(modelValue) || (viewValue.length <= maxlength); |
| 21304 | }; |
| 21305 | } |
| 21306 | }; |
| 21307 | }; |
| 21308 | |
| 21309 | var minlengthDirective = function() { |
| 21310 | return { |