2016-05-26 4 views
0

Проблема в том, что я отправляю форму на сервер, и если письмо уже используется, сообщение об ошибке «уже используется» отображается в порядке, но если пользователь хочет щелкнуть в ссылке «восстановить пароль» он не может, потому что событие «на размытие» ввода запускается и сообщение скрыто. Могу ли я приостановить событие «на размытие» ввода после ответа об ошибке сервера? Как я могу это решить? Я хочу, чтобы ошибка отображалась до тех пор, пока пользователь не нажмет кнопку отправки еще раз. Версия 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

внести изменения после того, как ответ от сервера, применить логику в контроллере. Я бы не предложил задерживаться или что-то вроде приведенного ниже ответа. –

ответ

0

Вы можете использовать debounce вариант для задержки в обновлении.

Try:

ng-model-options="{ updateOn: 'blur', debounce: { 'blur': 500 } }" за полсекунды задержки на размытость

Смежные вопросы