【发布时间】:2023-04-03 00:17:01
【问题描述】:
问题是我将表单发送到服务器,如果电子邮件已在使用中,“已在使用”的错误消息显示正常,但如果用户想点击“恢复密码”链接,他不能,因为输入的“模糊”事件被触发并且消息被隐藏。 我可以在服务器错误响应后暂停输入的“模糊”事件吗?我该如何解决这个问题? 我希望在用户再次单击提交按钮之前保持错误可见。 AngularJS 版本是 1.4.9。 感谢您的帮助。 代码:
<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>
【问题讨论】:
-
在服务器返回响应后进行更改,应用控制器中的逻辑。我不建议延迟或类似下面给出的答案。
标签: angularjs forms validation input angular-ngmodel