2016-04-21 16 views
2

I folgt entferntem Code für Debugging-Zwecke. Der EmailForCloudUserValidator wird zwei Mal ausgeführt, während NgOnInit zwei Nachrichten an der Konsole protokolliert.Angular 2 benutzerdefinierter Validator wird zweimal ausgeführt

ngOnInit(){ 
    this.contactControlGroup = this.formBuilder.group({ 
    email:[this.contact.email, this.emailForCloudUserValidator] 
    }); 
    this.formControls = this.contactControlGroup.controls; 
} 

private emailForCloudUserValidator(control: Control) : { [s: string]: boolean }{ 
    if(!control.value){ 
    console.log("email value is null"); 
    } 
    return; 
} 
+0

kann Ihr Problem nicht reproduzieren. Kannst du vielleicht einen [Plocker] (http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5) zur Verfügung stellen? –

Antwort

2

Aufruf enableProdMode() vor bootstrap() sollte es beheben:

import {enableProdMode} from "angular2/core"; 

enableProdMode(); 

standardmäßig läuft Angular2 in devMode wo Änderungserkennung immer zweimal läuft für Modell Instabilitäten zu überprüfen, die einen Fehler in der Anwendung angeben (die erzeugt Fehlermeldung Expression 'xxxx' was changed after it was checked)

+0

danke, aber irgendwie besteht die Frage immer noch. – mishap

+1

Danke für die Info Gunter ... – micronyks

+0

@micronyks, hat das für Sie funktioniert? – mishap

Verwandte Themen