angularjs - navigationend - router events subscribe angular 4
angularjs: ng-mensaje siempre mostrando (3)
Comprueba con
<div ng-messages="loginForm.email.$error" ng-show="loginForm.email.$invalid && loginForm.email.$touched">
...
</div>
Este truco me salvó el día.
Estoy usando mensajes angulares para mostrar errores de validación de formularios en mi aplicación angular. Según la documentación, he construido el siguiente código
<form name="loginForm">
<label class="item item-input">
<input type="email" placeholder="Email" ng-model="data.email" name="email" required>
</label>
<div ng-messages="loginForm.email.$error" style="color:maroon">
<div ng-message="required">Please input a valid e-mail address</div>
<div ng-message="email">You did not enter your email address correctly...</div>
</div>
</form>
He incluido la directiva ngMessages en mi javascript y también importé el archivo angular-messages.js.
Desafortunadamente, estos dos mensajes se muestran perpetuamente. Independientemente de lo que escriba en el campo de entrada, ya sea un correo electrónico válido o no. Ambos mensajes siempre se muestran. Si intento incluir solo un mensaje ng, el resultado es el mismo.
¿Qué podría estar haciendo mal?
edición: en caso de que mi descripción no sea muy clara, esta es una impresión del resultado https://s9.postimg.cc/du9230tdb/Screen_Shot_2015_06_26_at_17_09_24.png
Debe asegurarse de que realmente está incluyendo ngMessage a su módulo.
var app = angular.module(''app'', [
''ngMessages''
])
... y que incluyes la biblioteca a tu proyecto.
<script src="/scripts/vendors/angular-messages/angular-messages.js"></script>
Todo parece estar bien en el código que estás compartiendo.
<form name="loginForm">
<label class="item item-input">
<input type="email" placeholder="Email" ng-model="data.email" name="email" required>
</label>
<div ng-messages="loginForm.email.$error" style="color:maroon">
<div ng-message="required">Please input a valid e-mail address</div>
<div ng-message="email">You did not enter your email address correctly...</div>
</div>
</form>
Aquí hay una copia de trabajo en Plunker . Estoy usando tu pieza de código.
De la documentación de Angularjs .
Por defecto, ngMessages solo mostrará un error a la vez. Sin embargo, si desea mostrar todos los mensajes, se puede utilizar el indicador de atributo ng-messages-multiple en el elemento que contiene la directiva ngMessages para que esto suceda.
Si desea mostrar los errores después de que el campo esté sucio, visite este link .
Asegúrese de incluir el módulo ngMessage y la biblioteca también. Por favor vea la respuesta de Carlos .
Gracias