Angularjs Formular-Validierung mit Richtlinien

Habe ich eine überprüfung der Richtlinie genannt valid-number, die verwendet wird, um die Gültigkeit einer form mit $setValidity - dies funktioniert gut für text-Werte, die ich geben in das Eingabefeld, in dem die Richtlinie angewendet, die als ein Attribut.

HTML

<form name="numberForm">
<input name="amount" type="text" ng-model="amount" required  valid-number /></form>

In der Richtlinie wird wie folgt

angular.module('test',[]).directive('validNumber',function(){
            return{
                require: "ngModel",
                link: function(scope, elm, attrs, ctrl){

                    var regex=/\d/;
                    ctrl.$parsers.unshift(function(viewValue){
                        var floatValue = parseFloat(viewValue);

                        if(regex.test(viewValue)){
                            ctrl.$setValidity('validNumber',true);
                        }
                        else{
                            ctrl.$setValidity('validNumber',false);
                        }
                        return viewValue;
                    });
                }
            };
        });

Jedoch möchte ich auch die Validierung angestoßen werden, und legen Sie die css auf eine ungültige clsss, wenn der Wert der input-box wird initialisiert, wenn die Seite zum ersten mal geladen wird ungültig, wenn ich z.B. set $scope.amount = 'not a number' ich würde erwarten, dass die input-box gehabt zu haben, die Richtlinie angewendet wurde, aber keine Freude. Um für not a number hervorgehoben werden als ungültig ich habe eine änderung vornehmen, um den Inhalt des input-die Auslöser der Richtlinie.

Wie kann ich sicher gehen, dass die Richtlinie gilt unabhängig von der <input> wird initialisiert mit?

Einer vollständigen code-Beispiel ist hier;

http://jsfiddle.net/JW43C/5/

InformationsquelleAutor GrahamB | 2013-06-09
Schreibe einen Kommentar