0

我正在尝试为文本输入字段实现最大长度功能。

但是,每当我超过 30 的 maxlength 时,都不会出现一条消息说它太长了。

我做错了什么,我可以正确地实现这一点。

<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> 

编辑#1

阅读文档后,我将字段更改为以下内容,但仍未收到任何警告。

您能否让我知道正确的语法应该是什么?

<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>
4

1 回答 1

2

错误不会从自身显示出来。您必须添加一个 html 元素来显示错误

通过使用 ngMessages,该指令旨在根据其侦听的键/值对象的状态显示和隐藏消息。该指令本身使用 ngModel $error 对象(存储验证错误的键/值状态)补充错误消息报告,请参阅angularJs 文档

例如:

<div ng-messages="formName.txtJVNumber.$error" role="alert">
    <div ng-message="maxlength">Your field is too long</div>
</div>

根据您的 jsFiddle 进行现场演示

于 2015-11-06T14:54:11.127 回答