У меня есть следующий div, в который я хочу добавить класс начальной загрузки «has-error», если длина ввода превышает 50 символов. Это 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. Почему?
ng-class="{has-error: formData.titulo.$error.maxlength}"
- person Pankaj Parkar   schedule 07.08.2015ngModelController
публикуется подname
директивы. Вам нужно добавитьname="titulo"
к вашему вводу, чтобы ваша попытка работала - person New Dev   schedule 07.08.2015