为什么 Angular ng-message 'when="required"' 会触发,即使输入字段有输入?



我这里有一个plunker。

当我在输入字段中键入输入并单击页面上的其他位置时,会显示消息"This field is required."。为什么尽管输入字段有值,但仍显示消息?

这是代码:

<form name="reportform" novalidate >
  <input name="startdate" placeholder="Enter a start date" ng-model="startdatevalue" required>
  <ng-messages ng-if='reportform.startdate.$touched' for="reportform.startdate.$error">
    <ng-message when="required">
      This field is required.
    </ng-message>
  </ng-messages>
  <button ng-disabled="reportform.$invalid" type="submit">
    Submit Query
  </button>
</form>

您缺少导入ngMessages模块:

示例:https://plnkr.co/edit/VWhrTIzRjkQBGfjaj5Zb?p=preview

 var app = angular.module('plunker', ['ngMessages']);
app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
});

这是更新的演示

唯一的变化是你需要在你的角度模块中添加依赖ngMessages作为

 var app = angular.module('plunker', ['ngMessages']);
 app.controller('MainCtrl', function($scope) {
 $scope.name = 'World';
 });

最新更新