Angular validation de formulaire
Bonjour,
j'ai un formulaire avec un champ qui dépend d'une liste déroulante. Ce champ je l'affiche ou non et je le rend obligatoire ou non selon la valeur sélectionnée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
this.myForm.get('liste').valueChanges.subscribe(value => {
if (value === 2) {
this.showInput= true;
this.myForm.get('input').setValidators(Validators.required);
} else if (value === 3) {
this.showInput= true;
this.myForm.get('input').setValidators(null);
this.myForm.get('input').setErrors(null);
} else {
this.myForm.get('input').setValidators(null);
this.myForm.get('input').setErrors(null);
this.showInput= false;
}
}); |
Quand j'arrive dans mon formulaire et que je sélectionne la valeur 2, les contraintes de validations se mette bien en place sur le input. Quand je passe de la valeur 2 à 3 les règles s'applique bien également.
Mais quand je passe de la valeur 3 à 2, les contraintes de validation ne se remette pas en place.