2017-01-23 1 views
0

Ich habe das folgende Formular Steuerung mit einfachsten async Validator ich schreiben konnte:Angular 2 Asynchron-Validator immer ungültig

this.aliasCtrl = this._fb.control('', [(control: AbstractControl) => { 
    return new Promise(resolve => { 
    console.log(this.aliasCtrl); 
    resolve(null); 
    }); 
}]); 

Meine Form Definition lautet:

this.contactForm = this._fb.group({ 
    alias: this.aliasCtrl 
}); 

Meine Form Kontrolle ist immer ungültig. Hier ist ein Plunker: http://plnkr.co/edit/vyr48ke7fWEUwrXy43tn?p=preview Ich bin sicher, ich habe etwas vermisst, aber ich kann was nicht finden.

Danke für Hilfe.

+1

Async-Validatoren sollten als ** 3rd param ** zum 'FormControl'-Konstruktor übergeben werden. Sieht so aus, als ob du den 2. Parameter benutzt. https://angular.io/docs/ts/latest/api/forms/index/FormControl-class.html – AngularChef

Antwort

3

Ändern der Code:

this.aliasCtrl = this._fb.control('', null, (control: AbstractControl) => { 
    return new Promise(resolve => { 
    console.log(this.aliasCtrl); 
    resolve(null); 
    }); 
}); 

Pass null oder leer Array für validators (zweiten Parameter) und die Async-Validator Funktion als dritter Parameter.

Geprüft ... Funktioniert!

+0

Was für ein Neuling Fehler :) danke. – Happy

+0

Wir alle machen Fehler! :-) –

Verwandte Themen