HTML provides自版本4.01以来的标准maxlength属性。 Angular提供ng-maxlength指令。
不同之处在于标准方法不允许输入超过最大值,而Angular的方法只会产生验证错误。
他们为什么决定加入这样的指令?这不是因为maxlength的动态数据绑定,因为行为不一致。这不是因为兼容性,因为它甚至可以在HTML 4.01中使用。我唯一的猜测是它提供了另一种验证范例,但这听起来像是过度工程化。
答案 0 :(得分:14)
它不仅提供最大长度的验证,还添加了一个类ng-invalid-maxlength
。
所以当你把超出限制ng-invalid-maxlength
的任何东西放在那里时
在那堂课上你可以写自己的CSS。
因此,如果验证失败,按键后,将同时调用css并反映在您的UI上。
答案 1 :(得分:9)
之前的答案可能在早期版本的角度中是正确的,但截至今天和Angular v1.5.5,看起来maxlength
与ng-maxlength
完全相同,但也强制执行HTML输入类型文本输入的maxlength属性。
示例:强>
<input type="text" maxlength=5>
maxlength
将在输入上强制执行最多5个字符,并将正确的角度验证类添加到输入中。
ngMaxlength
只会强制执行验证。请参阅:https://docs.angularjs.org/api/ng/directive/ngMaxlength
<强>提醒:强>
只需使用maxlength
。