1

状況:

angular アプリには多くのフォームがあり、効果的なエラー メッセージ システムが必要です。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 秒間何も入力しないと、エラー メッセージが適切に表示されます。私が望むものに最も近いものです。

ただし、一部のユーザーにとっては、文字 @ を入力するのに 1 秒以上かかる場合があります。エラーメッセージが突然表示され、ユーザーを混乱させる可能性があります。

しかし、デバウンス時間を 2 秒または 3 秒に設定すると、多すぎます。ユーザーがすでに別のフィールドに書き込みを行っている場合に表示されることがあります。

エラーメッセージは、ユーザーがフィールドからぼやけた後にのみ発生する必要があります。

質問:

ぼかしでngMessagesを起動するにはどうすればよいですか?

4

2 に答える 2