Я хочу, чтобы сообщение об ошибке появлялось, если пользователь нажимает кнопку отправки без содержимого, и я хочу, чтобы кнопка отправки была отключена. Я могу получить либо один рабочий, но не оба одновременно.Angularjs - как получить сообщение об ошибке ng-message для одновременного отображения и отключения кнопки ввода
Приведенный ниже код вызывает сообщение, но позволяет использовать пустой предмет.
<form name="todoForm" novalidate >
<div ng-messages="todoForm.new.$error" ng-if="todoForm.$submitted"><div ng-message="required">Add Your Item Below...</div></div><!--message appears until valid input is entered-->
<input type="text" name="new" placeholder="start typing..." autofocus data-ng-model="newTodo" required=""/>
<button input type="submit" ng-click="addTodo()" >Add To List</button><!--disables form if form not valid-->
</form>
Эта версия отключает кнопку отправки, но не выводит сообщение
<form name="todoForm" novalidate >
<div ng-messages="todoForm.new.$error" ng-if="todoForm.$submitted"><div ng-message="required">Add Your Item Below...</div></div><!--message appears until valid input is entered-->
<input type="text" name="new" placeholder="start typing..." autofocus data-ng-model="newTodo" required=""/>
<button input type="submit" ng-click="addTodo()" data-ng-disabled="todoForm.$invalid" >Add To List</button>
</form>
Я полагаю, это потому, что сообщение не может быть отображено, когда кнопка входа отключена, потому что ничего не было Отправлено?
Я попытался использовать $ disabled и $ invalid, но они не сработали.
если я не хватает чего-то, что я получаю от этого является то, что 'нг-если =«todoForm $ представлен.»' Конфликтует с 'ng- messages = "todoForm.new. $ error" '. т. е. с 'ng-if', присутствующим в одном и том же div, я не вижу, чтобы появилось сообщение' ng-message = "required". Когда я удаляю 'ng-if', появляется требуемое сообщение: http://plnkr.co/edit/8pE3jmBNYRpPSvyJA0ys?p=preview –
ng-if =" todoForm. $ Представлено "противоречит data-ng-disabled = «todo.Form. $ invalid», насколько я вижу. Ваш пример не создает ng-сообщение, разве это не сообщение html5? – vtechmonkey