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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.