【发布时间】:2015-10-31 05:36:18
【问题描述】:
我有以下 div,如果输入长度超过 50 个字符,我想添加引导程序的类“has-error”。这是 HTML:
<div class="form-group" ng-class="{has-error:[formData.titulo.$error]}">
<label for="inputTitulo">Título</label>
<input type="titulo" class="form-control" id="inputTitulo"
maxlength="50" ng-maxlength="50" ng-model="formData.titulo">
</div>
我怎样才能做到这一点?我猜当你达到 50 个字符时,ng-maxlength 会抛出一个错误,比如 $error 对象,但我不知道对象是什么,如何访问它,以及是否需要在控制器或指令中做更多的工作.
这里有什么帮助吗?我找不到任何关于这个问题和 Angular 验证器的“简单”信息。
编辑 1:
我已经看到了您的所有回复,感谢您学习了一些新知识,但这仍然无法正常工作。目前是这样的:
<div class="form-group" ng-class="{'has-error': formData.titulo.$error.maxlength}">
<label for="inputTitulo">Título</label>
<input type="titulo" class="form-control" id="inputTitulo" maxlength="50" ng-maxlength="50" ng-model="formData.titulo">
</div>
还测试了直接检查长度,正如你们中的一个建议的那样。但这些解决方案似乎都不起作用:它从不添加 has-error 类。为什么?
【问题讨论】:
-
如果您只想使用 maxlength 进行验证,那么您可以使用
ng-class="{has-error: formData.titulo.$error.maxlength}" -
正如我在下面解释的,输入的
ngModelController发布在指令的name下。您需要在输入中添加name="titulo"以尝试工作
标签: javascript angularjs forms validation angularjs-forms