ie11中使用angular的表单验证

form validation in ie11 with angular

本文关键字:表单 验证 angular ie11      更新时间:2023-09-26

在我的表单中,有一个字段需要使用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