InseeFr / Lunatic

Library of questionnaire components
https://inseefr.github.io/Lunatic/
MIT License
20 stars 22 forks source link

Error message triggering on RosterForLoop #894

Closed jdirand closed 4 months ago

jdirand commented 8 months ago

Describe the bug

To Reproduce

Copy/Paste the JSON below in Storybook to reproduce the bug

Json_avecNull.json Json_avecIII.json

Expected behavior

The error message should not appear unless I have added a specific control. The components on the following rows should not move to the right.

Screenshots

image

Version where the bug appeared

2.7

Browser where the bug was tested

AnneHuSKa commented 8 months ago

Pour le Json_avecIII.json, on s'attend à ce que le message ne se déclenche que si la cellule vaut III. Mais pour la première ligne, on a assez un message d'erreur tant qu'on n'a rien saisi : image Data : { "COLLECTED": { "NATS": { "PREVIOUS": [ null ], "COLLECTED": [ null, "III", "ESSAI" ], "FORCED": [ null ], "EDITED": [ null ], "INPUTED": [ null ] } } } En revanche, une fois qu'on a rempli la première cellule, puis qu'on la vide, on n'a plus le message - ce qui est l'attendu image ou image

Grafikart commented 6 months ago

C'est un cas un peu particulier car en fait quand on ajoute une nouvelle ligne la ligne s'affiche mais n'est pas intégrée dans les données (2 champs affichés, mais 1 seul élément dans les données). La validation ne se déclenche donc pas car il n'y a pas de données à valider.

Une solution pour remédier à ce problème serait de prendre tous les composants (avec une réponse) dans la ligne qui est ajouté et de mettre un "null" par défaut. Mais cette approche devient complexe car il faut détecter les composants de la ligne pour savoir comment mettre ce null (par exemple si on a un checkboxGroup la logique est plus complexe)

AnneHuSKa commented 4 months ago

Pas généré dans la filière