Почему Angular ng-message 'when = “required”' срабатывает, даже если в поле ввода есть ввод?

0

У меня есть плункер.

Когда я вводим ввод в поле ввода и щелкаю в другом месте страницы, появляется сообщение "Это поле обязательно". отображается. Почему отображается сообщение, несмотря на то, что поле ввода имеет значение?

Вот код:

<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>
Теги:

2 ответа

1
Лучший ответ

Вам не нужно импортировать модуль ngMessages:

Пример: https://plnkr.co/edit/VWhrTIzRjkQBGfjaj5Zb?p=preview

 var app = angular.module('plunker', ['ngMessages']);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
});
  • 0
    О, спасибо. Извините, что задаю такой глупый вопрос. У меня был гораздо более длинный пример, над которым я работал, и пытался свести его к основам, чтобы публиковать их в качестве плунжера, но, очевидно, я удалил слишком много кода :)
0

Вот обновленная демоверсия

Только изменение - вам нужно добавить зависимости ngMessages в вашем угловом модуле, как

 var app = angular.module('plunker', ['ngMessages']);

 app.controller('MainCtrl', function($scope) {
 $scope.name = 'World';
 });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню