我有以下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类。为什么?
要在示波器上发布错误,form
需要使用伪指令。
<div ng-form="form1" ng-class="{'has-error': form1.text1.$error.maxlength}">
<input name="text1" ng-model="formData.foo" ng-maxlength="50">
</div>
(请注意,上面使用name
输入的属性ngModelController
在范围上发布了表单数据-实际上是-)
因此,以上方法有效,如果您进行表单验证,则更可取。但是,如果您只需要检查某些输入的长度,则不必使用表单验证-您可以直接检查模型:
<div ng-class="{'has-error': formData.foo.length > 50}>
<input ng-model="formData.foo">
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句