ПОЛОЖЕНИЕ:Как убрать ng-сообщения при размытии?
У меня есть много форм в моих угловых приложениях и мне нужна эффективная система сообщений об ошибках. Я нахожу ngMessages полезным.
Но я бы хотел, чтобы сообщения об ошибках появлялись только тогда, когда пользователь вымывается из поля, чтобы быть менее агрессивным.
ПОПЫТКА:
Попытка с помощью дребезга на 1000мс
<label class="item item-input">
<span class="input-label"> Email alternative </span>
<input type="email" name="email_alternative" ng-model="profile_edited.email2" ng-model-options="{ debounce: 1000 }">
</label>
<!-- Error messages for ALTERNATIVE EMAIL -->
<label class="item item-input" ng-show="profile_edit_form.email_alternative.$error.email">
<div class="form-errors" ng-messages="profile_edit_form.email_alternative.$error" role="alert" ng-if='profile_edit_form.email_alternative.$dirty'>
<div class="form-error" ng-message="email">Your email address is invalid</div>
</div>
</label>
Таким образом, это будет правильно появляется сообщение об ошибке, если пользователь ничего не печатать в течение одной секунды. Я ближе всего к тому, чего хочу.
Но иногда для некоторых пользователей для ввода символа @ может потребоваться немного больше 1 секунды. Сообщение об ошибке может неожиданно появиться и запутать пользователя.
Но если я установил время debouncing 2 или 3 секунды, это слишком много. Это может появиться, когда пользователь уже пишет в другом поле.
Мне нужно, чтобы сообщения об ошибках срабатывали ТОЛЬКО ПОСЛЕ того, как пользователь вымывается из поля.
ВОПРОС:
Как я огонь ngMessages на размытие?
Использовать '$ touched' вместо' $ dirty' – devqon
Спасибо @devqon! Я проверил его, и он работает точно так, как я хотел! Даже если короткий, вы можете записать его в качестве ответа и принять его, поскольку он может быть полезен другим пользователям – johnnyfittizio