我有这样的形式:
<div ng-messages="submittedFrgPwd && forgotForm.username.$error" multiple>
<div ng-message="pattern">{{ 'INVALID_EMAIL' | translate }}</div>
<div ng-message="required">{{ 'EMPTY_EMAIL' | translate }}</div>
<div ng-message="minlength">{{ 'SHORT_EMAIL' | translate }}</div>
<div ng-message="maxlength">{{ 'LONG_EMAIL' | translate }}</div>
</div>
<input type="email" id="username-remember" name="username" ng-model="username" ng-minlength="8" ng-maxlength="200" required ng-pattern="email_regexp" ng-class="{ 'has-error': submittedFrgPwd && forgotForm.username.$invalid || submittedError}"/>
例如:
当我输入正常长度的电子邮件,但模式无效时,我只看到:
{{ 'INVALID_EMAIL' | translate }}
这是正常的。
但!
当我输入类似的内容时,a@a.a
我得到了两个错误:
<div ng-message="pattern">{{ 'INVALID_EMAIL' | translate }}</div>
<div ng-message="minlength">{{ 'SHORT_EMAIL' | translate }}</div>
但这是真的吗,在我的最小长度有效之前跳过模式消息?
我这样尝试:
data-ng-show="submittedFrgPwd && forgotForm.username.$error.pattern && !forgotForm.username.$error.minlength && !forgotForm.username.$error.maxlength"
似乎工作,但它是丑陋的)