2016-03-21 18 views
0

Ich validiere eine E-Mail-Adresse in meinem Controller. Wenn ein Fehler auftritt, würde Ich mag eine Fehlermeldung zeigen ...Angular: mehrere ng-wenn Probleme

In diesem Szenario werden die Benutzertypen in: myname @ email (ungültig)

Die Validierung funktioniert gut und mein Anwendungsbereich ist wie folgt:

Object { 
    email_used: false, 
    email_invalid: true, 
    email_required: false 
} 

In meiner Vorlage, die Fehlerklasse auf dem Eingabefeld korrekt funktioniert:

<input type="email" name="email" placeholder="E-mailadres" ng-model="new_user.email" class="grid-100" ng-class="(error_register.email_used || error_register.email_invalid || error_register.email_required) ? 'error' : ''"/> 

... aber mein Fehler Nachricht wird nicht angezeigt?

<!-- ERRORS --> 
<span class="ngdialog-form-error" ng-if="error_register.email_used" ng-cloak>Email is used<span> 
<span class="ngdialog-form-error" ng-if="error_register.email_required" ng-cloak>Email required<span> 
<span class="ngdialog-form-error" ng-if="error_register.email_invalid" ng-cloak>Email invalid<span> 
<!--/ERRORS --> 

(Ich verwende Angular 1.2.0)

+1

könnten Sie das Problem in plunkr/Geige reproduzieren? –

+0

Wir brauchen mehr Code, um Ihnen zu helfen, es gibt noch nichts zu entdecken in dem Code, den Sie gepostet haben. und BTW - warum zum Teufel benutzen Sie eckige 1.2? Sie sollten so bald wie möglich aktualisieren ... es gibt Tonnen von Sicherheitslücken in solch einer alten Version von eckig. die aktuelle Version ist 1.5 ... –

Antwort

1

Sie haben die span-Tags nicht geschlossen.

var app = angular.module("app", []); 
 

 
app.controller("controller", function($scope) { 
 
    $scope.error_register = { 
 
    email_used: false, 
 
    email_invalid: true, 
 
    email_required: false 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="controller"> 
 
    <span class="ngdialog-form-error" ng-if="error_register.email_used" ng-cloak>Email is used</span> 
 
    <span class="ngdialog-form-error" ng-if="error_register.email_required" ng-cloak>Email required</span> 
 
    <span class="ngdialog-form-error" ng-if="error_register.email_invalid" ng-cloak>Email invalid</span> 
 
</div>

+0

Thnx ... mit ... :-) – user1141796

+0

Kein Problem. Es ist leicht, kleine Dinge wie diese zu übersehen. Ursprünglich dachte ich, es könnte ein Problem mit den Unterstrichen in deinen Objektnamen sein und verbrachte 5 Minuten damit, mit den Namen herumzuspielen, bevor ich es bemerkte. Wenn dies Ihre Frage gelöst hat, akzeptieren Sie bitte die Antwort. – Jaydo