InseeFr/Lunatic

Error message triggering on RosterForLoop

Closed this issue · 3 comments

Describe the bug

  • If I press next without filling the first component, an error message appears even if if I haven't specified any control.

  • The component(s) on the following row(s) move to the right for some reason

  • I tested it on the storybook, which leads me to believe that it's a lunatic 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

  • Chrome
  • Firefox
  • Safari
  • Edge
  • Other (please specify): ___

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

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)

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