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