我正在尝试为文本输入字段实现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>
答案 0 :(得分:2)
错误不会显示自身。 您必须添加一个html元素来显示错误
使用ngMessages,它是一个指令,用于根据侦听的键/值对象的状态显示和隐藏消息。该指令本身使用ngModel $ error对象(存储验证错误的键/值状态)来补充错误消息报告,请参考angularJs documentation。
例如:
<div ng-messages="formName.txtJVNumber.$error" role="alert">
<div ng-message="maxlength">Your field is too long</div>
</div>
Live demo根据你的jsFiddle