与AngularJS中占位符相关的GitHub问题

与AngularJS中占位符相关的GitHub问题,angularjs,Angularjs,我在AngularJs中工作,并在所有输入表单元素中应用了占位符。因此,当页面加载时,$dirty隐式为true,因此在IE10中显示错误消息而不进行任何用户修改(也称为GitHub问题)。该代码在firefox和chrome中运行良好。这个GitHub问题有什么解决方案吗 以下是代码: <input type="email" placeholder="Enter email" name="userEmail" class="form-control" ng-model="user.ema

我在AngularJs中工作,并在所有输入表单元素中应用了占位符。因此,当页面加载时,$dirty隐式为true,因此在IE10中显示错误消息而不进行任何用户修改(也称为GitHub问题)。该代码在firefox和chrome中运行良好。这个GitHub问题有什么解决方案吗

以下是代码:

<input type="email" placeholder="Enter email" name="userEmail" class="form-control" ng-model="user.email" required autofocus autocomplete="on" autofill> 

请填写这个字段

--编辑--
格式化代码块

您看到的行为是由IE10和
required
指令组合引起的

要解决此问题,您可以编写一个自定义指令来执行验证,而不是angular的
required
指令,如下所示:

.directive('myRequired', function () {
  return {
    require: '?ngModel',
    link: function(scope, elm, attr, ctrl) {
      if (!ctrl) return;

      var validator = function(value) {
        var isEmpty = ctrl.$isEmpty(value);
        ctrl.$setValidity('required', !isEmpty);
        return isEmpty ? '' : value;
      };

      ctrl.$formatters.push(validator);
      ctrl.$parsers.unshift(validator);
    }
  };
});
然后用html格式的
my required
替换
required

<input type="email" placeholder="Enter email" name="userEmail" class="form-control" ng-model="user.email" my-required autofocus autocomplete="on" autofill />

有关完整示例,请参见:


希望这对您有用。

您是否尝试过在表单中使用诺瓦利达?使用$dirty?