2017-02-03 3 views
0

Ich habe ein einfaches Formular mit Eingabefeld.Validierung bei Belastung

angular.module('main', []) 
 
    .controller('Ctrl', ['$scope', '$location', 
 
    function($scope, $location) { 
 

 
    } 
 
    ]);
.red-border { 
 
    border-color: red; 
 
}
<div ng-app="main"> 
 
    <div ng-controller="Ctrl"> 
 
    <form name="frm" novalidate="novalidate"> 
 
     <input type="text" required name="myname" ng-class="{'red-border':frm.myname.$error.$invalid}" /> 
 
     <br>{{frm | json}} 
 
    </form> 
 
    </div> 
 
</div>

Ich brauche das Eingabefeld am Anfang in roten Rand zu sein, da es bereits leer ist, aber es es auf Last rot nicht machen. Wenn ich es so teste: ng-class="{'red-box':true}" funktioniert es.

Was ist die beste Vorgehensweise, um es zu Beginn ausgelöst zu machen, oder muss ich alle Workarounds machen?

Dank

Edit:

hier ist mein Code-Schnipsel. https://jsfiddle.net/Ingeeg/afm7rhsw/8/

+0

Siehe ich sehr bezweifle, dass du Winkel 1.0.3 in jeder Produktions Anwendung verwenden, aber das ist, was Sie, dass inbegriffen Geige. Sie sollten die Geige auf die * aktuelle * Version aktualisieren, bevor Sie versuchen, sie als [mcve] darzustellen. – Claies

+0

Beachten Sie, dass Beispiele von Code in der Frage selbst, nicht auf einer Website von Drittanbietern begleitet werden müssen. –

+0

Ich habe meine Frage korrigiert. Danke – INgeek

Antwort

1

Angular wertet nur Eingänge mit der ng-model Richtlinie:

<form name="frm" novalidate="novalidate"> 
    <input type="text" required name="myname" 
      ng-model="myModel" 
      ng-class="{'red-border':frm.myname.$invalid}" /> 
</form> 

this working jsfiddle

+0

Danke. 'frm.myname. $ invalid' kann ebenfalls verwendet werden. 'ng-Modell' war ein notwendiger Teil – INgeek

Verwandte Themen