2016-05-26 10 views
0

問題は、サーバーにフォームを送信し、電子メールがすでに使用されている場合、「already in use」というエラーメッセージが表示されますが、 "回復 - パスワード"リンクでは、入力の "ぼかし"イベントが発生し、メッセージが隠されているため、彼はできません。 サーバーのエラー応答後に入力の「ボケ」イベントを一時停止できますか?これをどうすれば解決できますか? ユーザーが[送信]ボタンを再度クリックするまで、エラーを表示したままにします。 AngularJSのバージョンは1.4.9です。 ありがとうございました。 コード:一時停止OnBlur検証入力フォームAngularJS

<form id="registerForm" name="registerForm" ng-submit="createUser($event)"> 
     <label for="email">Email</label> 
    <input type="text" id="email" name="email" 
     ng-model-options="{ updateOn: 'blur' }" 
     ng-model="register.email" required> 
    <div ng-messages="registerForm.email.$error" ng-Show="registerForm.email.$dirty && registerForm.email.$invalid"> 
     <div class="form-error is-visible" ng-message="required">required</div> 
     <div class="form-error is-visible" ng-message="alreadyTaken">Email already in use. <a href="/recover-password">Do you want to recover the password?</a></div> 
    </div> 
</form> 
+1

上半分秒の遅延のため

ng-model-options="{ updateOn: 'blur', debounce: { 'blur': 500 } }"応答がサーバーから後に変更を加え、コントローラのロジックを適用します。私は遅れたり、以下の答えが示唆しているようなことをするつもりはありません。 –

答えて

0

あなたが更新の遅れのためdebounceオプションを使用することができます。

試してみてください。ぼかし

関連する問題