HTML provides a standard maxlength attribute since version 4.01. Angular provides a ng-maxlength directive.
The difference is that the standard approach doesn\'t all
Not only it provide validation for max length, it also adds a class ng-invalid-maxlength
.
so when you put anything beyond the limit ng-invalid-maxlength
class will placed there
and in that class you can write your own css.
So after key press if validation fails, the css will be invoked simultaneously and reflects on your UI.
The previous answer may of been correct in earlier versions of angular but as of today and Angular v1.5.5, it looks like maxlength
does exactly the same thing as ng-maxlength
but also enforces the HTML inputs maxlength property on inputs of type text.
Example:
<input type="text" maxlength=5>
maxlength
will enforce a 5 character max on the input and also add the correct angular validation class to the input.
Whereas ngMaxlength
will only enforce validation. See: https://docs.angularjs.org/api/ng/directive/ngMaxlength
Advise:
Just use maxlength
.