2016-04-07 10 views
1

Ich habe eine Direktive, die den Inputvalue mit einer Regex validiert. Jetzt verwende ich $ watch, um zu überprüfen, ob der Eingabewert geändert wird, aber aufgrund der Leistung möchte ich einen anderen Ansatz versuchen.

scope.$watch(attrs.ngModel, function (inputValue) { 
    formatter(inputValue); 
}); 

Das Formatierungsfunktion prüft einfach, wenn die Inputvalue über die Regex gültig ist, und ruft $ setValidity()

Ich versuchte $ Parser zu verwenden, aber ich fand nicht direkt der Wert der Validierung, wenn der Eingangswert zu ändern, wie folgt:

modelCtrl.$parsers.push(formatter); 
    if (scope[attrs.ngModel] && scope[attrs.ngModel] !== '') { 
     formatter(scope[attrs.ngModel]); 
    } 

Gibt es eine Möglichkeit, die Eingabe sofort zu validieren, nachdem der Eingabewert geändert wurde?

+0

Haben Sie y Oder hast du die ng-Muster-Direktive ausprobiert? – Martin

+0

tat ich eigentlich, aber ich verwende eine Direktive, um es dynamisch auf mehreren Eingängen zu verwenden – Matheno

Antwort