2016-07-26 18 views
5

Angular RC4 Jak dodawać i usuwać sprawdzanie poprawności w oparciu o stan innych FormControls lub FormGroups.sprawdzanie poprawności kątowej 2: znajdowanie sprawdzania prądu na kontrolerze

Bazując na tym stanowisku Angular2 validator which relies on multiple form fields

W Przykładzie Wykorzystuje .compose aby ustawić wiele weryfikatorów. Zastępuje ono istniejące Walidatorów z wami nowe Validator.compose

this.form.controls["empID"].validator = Validators.compose([Validators.pattern("[0-9]{7}"), Validators.required]); 
this.form.controls["empID"].updateValueAndValidity(); 

Moje problemy to nie mogę znaleźć FormControl (.add lub .Wykręcić), aby zmienić bieżącą walidację (jeden Validator na raz). Jeśli chcę dodać/usunąć Validators.required, będę musiał wyciągnąć bieżące walidatory (inny problem), a następnie dodać/usunąć wymagać w nowym .compose. (przykład powyżej)

Czy mogę przemyśleć ten proces. Aby dodać walidator dynamicznie działa, ale tylko wtedy, gdy znam wszystkie walidatory.

Ostatnią rzeczą, którą próbuję zrobić, aby ten rodzajowy, przechodząc kontrolę i ocenić, czy inne sterowanie jest sprawdzane, a następnie odpowiednio zastosować/usunąć Validators.

Odpowiedz

0

Dokumentacja Per Angular nie jest możliwa. Na AbstractControl documentation (która jest klasą, która rozszerza FormControl) nie ma członka, który pobierałby bieżące walidatory.

Niestety jedyną opcją jest użycie dwóch dostępnych metod radzenia sobie z walidatorami:

setValidators() // Replaces all validators 
clearValidators() // Removes all validators 
Powiązane problemy