在我的表单中,我有一个使用Angular表单验证所需的字段。看起来像:

<form id="project" name="formProject">
<input id="projectName" name="projectName" ng-model="projectForm.projectName" placeholder="Name" required />
<div ng-show="!formProject.projectName.$pristine && formProject.projectName.$error.required>
A project name is required.
</div>


问题是,一旦用户将光标放在输入框中,就会立即显示错误消息。它不等待用户开始输入。在Firefox或Chrome中,这不是问题,只是IE。有没有容易解决的办法?

最佳答案

您可以通过将与ng-model绑定的值初始化为空字符串来解决此问题。

通过ng-init之一:

<input id="projectName" name="projectName" ng-model="projectForm.projectName" ng-init="projectForm.projectName = ''" placeholder="Name" required="" />


或在控制器中执行:

$scope.projectForm = {
  projectName: ''
};


插队示例:http://plnkr.co/edit/jbXJSYuIaOBO037fsyzI?p=preview

希望这可以帮助。

关于javascript - 带 Angular ie11中的表单验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25083177/

10-09 07:42