2017-06-09 2 views
3

Ich versuche, benutzerdefinierte Validierung durchzuführen, und ich muss neue Validatoren zur Laufzeit hinzufügen. Dies kann unter Verwendung vonWie man vorhandene FormControl Validatoren iteriert

erfolgen, wobei die Kontrolle eine Instanz von AbstractControl ist.

OK, soweit alles gut und dandy. Ich möchte jedoch überprüfen, ob der Validator, den ich hinzufüge, bereits hinzugefügt wurde. Ich möchte später auch den Validator lokalisieren, den ich hinzugefügt habe, um ihn weiter zu manipulieren.

Die Frage ist also: Wie kann ich durch die Validatoren, die an bestimmte AbstractControl-Instanz angeschlossen sind, iterieren?

+0

Mögliches Duplikat von [Get Validatoren in FormGroup/FormControl] (https://stackoverflow.com/questions/43838108/get-validators-present-in-formgroup-formcontrol) – developer033

Antwort

2

Das ist nicht möglich von dem, was es für mich aussieht.

Intern setValidators fügt die Validatoren zu einem öffentlichen Eigentum auf der AbstractControl Klasse (die Funktionen sind) genannt validator.

Die Überprüfung der validator Eigenschaft (mit etwas wie console.log(control.validator)) zeigt Ihnen im Grunde die gesamte Validierungsfunktion, die für die Steuerung ausgeführt wird.

Sie können und die implementation here wenn Sie interessiert sind.