Si è verificato un problema in cui ng-message sta lampeggiando il messaggio di errore "richiesto" nonostante ci sia stato input nella casella di input. Quello che succede è che lampeggia molto brevemente il messaggio di errore: "QUESTO CAMPO E 'RICHIESTO (TUTTO IN MAIUSCOLO PER FACILITARE A FACILMENTE VEDERLO FLASH BY!)" Sullo schermo prima che scompaia immediatamente. Scusa per i tappi ma volevo rendere il messaggio più facile da vedere prima che scompaia.Il messaggio di errore angolare lampeggia molto brevemente sullo schermo quando si utilizza lo ui-date datepicker di angular-ui
Ecco uno link to my plunker. Immettere qualsiasi input, quindi fare clic altrove nella pagina in modo che il campo di input non venga messo a fuoco. Prestare attenzione perché il messaggio di errore in rosso lampeggerà brevemente per poi scomparire. Se non hai notato il messaggio flash velocemente, dovrai ricaricare nuovamente la pagina per vederlo accadere di nuovo.
Perché sta succedendo? Credo che abbia qualcosa a che fare con ui-date perché non sono in grado di replicare il problema senza ui-date.
Ecco un frammento del codice:
<form name="reportform" ng-submit="process_form()" novalidate >
<input name="startdate" placeholder="Enter a start date" ui-date ng-model="startdatevalue" required>
<ng-messages ng-if='reportform.startdate.$touched' for="reportform.startdate.$error">
<ng-message when="required" class="error-message">
THIS FIELD IS REQUIRED (ALL IN CAPS TO MAKE IT EASIER TO SEE IT FLASH BY!)
</ng-message>
</ng-messages>
<button ng-disabled="reportform.$invalid" type="submit">
Submit Query
</button>
</form>
Grazie per il vostro aiuto.
Grazie per la risposta. Sono stato in grado di farlo funzionare nel mio plunker. Il problema è che l'ho ridotto da un esempio molto più ampio nel mio progetto. Sto costruendo i campi data ui-date dinamicamente in un ciclo ripetizione ng. Ci può essere un numero qualsiasi di loro. Ho capito che posso usare: 'ui-date =" dateOptions [$ index] "' ma nel mio controller quando imposto ogni dataOption, non sono sicuro di come rendere $ scope.selectionComplete univoco per ogni datepicker. E poi in ng-messages come faccio a fare riferimento a ciascuna variabile "selectionComplete ..." unica? Grazie ancora per il vostro aiuto. – user45183
Controlla https://plnkr.co/edit/6GAtm3Or4ZPxCHyBVGY1?p=preview dove entrambi i messaggi di posta elettronica e le opzioni sono generici ed estendibili a più controlli. – potatopeelings