【发布时间】:2015-01-10 12:38:40
【问题描述】:
HTML provides 自 4.01 版以来的标准 maxlength 属性。 Angular 提供了一个ng-maxlength 指令。
不同之处在于标准方法不允许输入超过最大值,而 Angular 的方法只会产生验证错误。
他们为什么决定加入这样的指令?这不是因为 maxlength 的动态数据绑定,因为行为不一致。这不是因为兼容性,因为它甚至在 HTML 4.01 中也可用。我唯一的猜测是它提供了另一种验证范式,但这听起来像是过度设计。
【问题讨论】:
-
正如你所说 -
maxlength定义了 HTML 元素的属性。ng-maxlength定义了如何验证模型。也许它是过度设计的,也许不是。我想这很随意。 -
你可能会问同样的问题,为什么要使用
ng-validate来检查某个东西是否是数字,或者只使用<input type="number">(暂时忘记兼容性问题) -
-
@BarthZalewski - 公平点:programmers.stackexchange.com/questions/262659/…
-
这很好,@Den
标签: javascript html angularjs validation flawed-concept