仅当目标中的字段脏并包含错误时,我才尝试显示/隐藏我的 ng-messages div...
我有这个 ng-messages 包装器:
<div class="alert-bloc red clearfix" data-icon="warning-white" ng-if="changePwd.$dirty" ng-hide="hideMe" ng-messages="changePwd.$invalid" ng-messages-multiple>
<div>
<p ng-message="required">Votre nouveau mot de passe est requis</p>
<p ng-message="minlength">Votre nouveau mot de passe est trop court</p>
<p ng-message="pattern">Votre nouveau mot de passe doit intégrer au moins une majuscule, une minuscule et un chiffre</p>
<p ng-message="different">{{ errorMsg }}</p>
<p ng-message="mirror">{{ errorMsg }}</p>
</div>
</div>
我的表格是:
<form role="form" name="changePwd" novalidate autocomplete="off">
<div>
<label>Votre ancien mot de passe :
<input type="password" name="o" ng-model="credentials.o" ng-change="controleChangePassword(credentials);" required onpaste="return false;"/>
</label>
</div>
<div ng-show="changePwd.o.$dirty">
<label >Votre nouveau mot de passe :
<input type="password" name="p1" ng-model="credentials.p1" ng-change="controleChangePassword(credentials);" ng-minlength="8" ng-pattern="/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/" required onpaste="return false;"/>
</label>
<label>Confirmez votre nouveau mot de passe :
<div>
<input type="password" name="p2" ng-model="credentials.p2" ng-change="controleChangePassword(credentials);" required onpaste="return false;" />
</div>
</label>
</div>
<button type="button" ng-disabled="changePwd.$invalid || disabled" ng-click="updatePassword(credentials);">Valider</button>
</form>
在我的例子中, div ng-messages 容器显示了任何字段$dirty
何时是以及 form(changePwd) 何时是$invalid
。
我希望 ng-messages 仅在焦点字段脏且无效时显示,而不是在全局表单脏时显示。
例如,当我开始在 inpu(o) 中写一些东西时,ng-messages 显示...
我做错了什么吗?