以下のコードのように、ページ送信時にのみ検証エラーを表示するフォームがあります。この検証は正常に機能しますが、ユーザーが入力フィールドの検証を修正するとすぐに機能します。検証メッセージはすぐに消えます。ユーザーがページを再度送信するまで、この検証メッセージを保持する方法はありますか? 私の要件は、検証メッセージがページの送信時にのみ表示および非表示になることです。
<span id="error" ng-if="addForm.$submitted">
<div class="ErrorMsgBox">
<ul>
<li ng-messages="addForm.startDate.$error">
<small id="startDate_req" ng-message="required">Date is mandatory.</small>
</li>
</ul>
</div>
</span>
たとえば、ユーザーが日付を指定せずにフォームを送信すると、「日付は必須です」という検証メッセージがユーザーに表示されます。ユーザーが任意の値を入力すると、メッセージが表示されます。ページが再度送信されるまで、この検証メッセージを保持する必要があります。
ng-model-options を試しましたが、ページが送信されるまで入力フィールドの値が保持されません。
ng-model-options="{ updateOn: 'submit' }"
提案してください。