Я пытаюсь реализовать функциональность maxlength для текстового поля ввода.
Однако всякий раз, когда я просматриваю максимальную длину 30, сообщение никогда не появляется, говоря, что оно слишком длинное.
Что я делаю неправильно, где я могу это правильно реализовать.
<div class="form-group">
<div class="col-sm-4">
<label class="control-label align-left">JV Number:</label>
</div>
<div class="col-sm-8">
<input type="text" ng-maxlength="30" class="form-control" placeholder="Enter JV Number" id="txtJVNumber" name="txtJVNumber" ng-model="formCtrl.AddCheckDeposit.JVNumber" />
</div>
</div>
После чтения документации я изменил поле на следующее, но я все равно не получаю никакого предупреждения.
Не могли бы вы сообщить мне, какой должен быть правильный синтаксис?
<div class="col-sm-8">
<input type="text" ng-maxlength="30" class="form-control" placeholder="Enter JV Number" id="txtJVNumber" name="txtJVNumber" ng-model="formCtrl.AddCheckDeposit.JVNumber" />
<p class="help-block" ng-show="warrantyForm.txtJVNumber.$error.maxlength">Max characters of 30 exceeded</p>
</div>
Ошибка не будет отображаться сама по себе. Вы должны добавить элемент html, чтобы показать ошибку
Используя ngMessages, которая является директивой, предназначенной для отображения и скрытия сообщений на основе состояния объекта key/value, который он прослушивает. Сама директива дополняет сообщение сообщения об ошибках с объектом ngModel $ error (который хранит состояние ключа/значения ошибок проверки) относится к документации по angularJs.
например:
<div ng-messages="formName.txtJVNumber.$error" role="alert">
<div ng-message="maxlength">Your field is too long</div>
</div>
Живая демонстрация в соответствии с вашим jsFiddle