page navigationend cambiar angularjs ng-messages

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