Chcę, aby komunikat o błędzie pojawił się, gdy użytkownik kliknie przycisk Wyślij bez zawartości i chcę, aby przycisk przesyłania był wyłączony. Mogę uzyskać jeden działający, ale nie oba jednocześnie.Angularjs - jak uzyskać komunikat o błędzie wymagającym ng do wyświetlania i wyłączania przycisku wprowadzania w tym samym czasie
Poniższy kod wyświetla komunikat, ale pozwala na pusty element todo.
<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>
Ta wersja wyłącza przycisk Prześlij, ale nie spowoduje wyświetlenie komunikatu
<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>
Przypuszczam, to dlatego, że nie może być wyświetlany komunikat po naciśnięciu przycisku wejście jest wyłączone, ponieważ nic nie zostało przesłane?
Próbowałem używać zamiast tego $ disabled i $ invalid, ale nie zadziałały.
chyba że jestem brakuje czegoś, co mam z tym jest to, że 'ng-if =„todoForm $ złożone.”' 'Jest sprzeczne z ng- messages = "todoForm.new. $ error" '. Oznacza to, że przy 'ng-if' obecnym na tym samym div, nie widzę komunikatu' ng-message = "wymagany" '. Kiedy usuwam 'ng-if', pojawia się odpowiedni komunikat: http://plnkr.co/edit/8pE3jmBNYRpPSvyJA0ys?p=preview –
ng-if =" todoForm. $ Submitted "jest w konflikcie z data-ng-disabled = "todo.Form. $ invalid" o ile widzę. Twój przykład nie generuje wiadomości ng, czy nie jest to wiadomość HTML5? – vtechmonkey