使用ng-maxlength时显示错误消息

时间:2018-07-11 09:23:01

标签: html angularjs twitter-bootstrap

当我达到登录名的最大限制(32)时,我试图显示一条错误消息。以前粘贴的代码是我通常使用的代码,但是由于某些原因,它无法正常工作。唯一的不同是,我不是使用模式框,而是仅使用文本框(如果可能)?谢谢!

  <form class="form-horizontal" name="myForm">
                        <fieldset>
                            <div class="form-group"
                                 ng-class="{ 'has-error' : myForm.loginName.$invalid && !myForm.loginName.$pristine }">
                                <label class="col-lg-4 col-sm-4 col-xs-4 control-label no-padding-right">Login
                                    Name</label>
                                <div class="col-lg-6 col-sm-6 col-xs-6">
                                    <input type="text" class="form-control"
                                           id="loginName" name="loginName"
                                           ng-model="targetEntity.loginName" required placeholder="Login Name"
                                           ng-maxlength="32">
                                    <p ng-show="myForm.loginName.$invalid && !myForm.loginName.$pristine"
                                       class="help-block">Mandatory field, maximum length 255 characters.</p>
                                </div>
                            </div>
                         </fieldset>
 </form>

2 个答案:

答案 0 :(得分:0)

您必须使用$error

  <div ng-messages="myForm.loginName.$error" style="color:red">
    <div ng-message="maxlength">Max length reached</div>
  </div>

https://plnkr.co/edit/gZKFJcTgzeGW3UDrYqIl?p=preview

答案 1 :(得分:0)

由于$ error是angular提供的对象,因此您也可以直接使用它。例如:

ng-show="myForm.loginName.$error.maxlength"

但是我建议使用前面提到的ngMessages,因为它更容易。