Champ booléen : la valeur est modifiée si on utilise des contraintes

Request description

Bonjour,

J’ai plusieurs champs booléens que je souhaite rendre modifiable et obligatoire en fonction de la valeur d’un autre champ booléen.

J’ai laissé l’affichage sour forme de case à cocher “oui” et “non” car la valeur null m’intéresse afin de forcer l’utilisateur à faire l’action de cocher la case “oui” ou “non” si le champ est obligatoire (pas de valeur par défaut).

Pour faire cela j’utilise des contraintes, ça fonctionne correctement pour rendre le champ modifiable et obligatoire par contre le fait d’avoir ajouté une contrainte a pour impact de mettre la valeur “non” aux champs booléens si aucune valeur n’a été sélectionné lorsque je modifie mon premier boolèen.

Steps to reproduce

Avec le module de Démo :

  1. J’ai créé 2 nouveaux champs booléen au niveau de l’objet “DemoSupplier” :

  1. J’ai ajouté la contrainte et les impacts suivants :

  1. Quand j’ouvre le formulaire de création d’un fournisseur, les cases des 2 booléens ne sont pas cochées :

  1. Je sélectionne “oui” pour “Toute population”, le champ “Enfant” devient non obligatoire et non modifiable par contre la case “Non” a été cochée automatiquement :

Est-ce une anomalie ? Comment puis-je faire pour que la case “Non” ne soit pas coché ?

Merci d’avance

Florent

Technical information

Instance /health

[Platform]
Status=OK
Version=5.3.8
BuiltOn=2023-07-10 20:23
Git=5.3/4502a60a63d445a5ec961e13b5f62415953c5056
Encoding=UTF-8
EndpointIP=
EndpointURL=
TimeZone=Europe/Paris
SystemDate=2023-07-21 14:02:59

[Application]
ApplicationVersion=1.0.0
ContextPath=
ContextURL=
ActiveSessions=1
TotalUsers=7
EnabledUsers=5
LastLoginDate=2023-07-21 13:48:40

[Server]
ServerInfo=Apache Tomcat/9.0.78
ServerType=WEB
ServerActiveSessions=1
ServerSessionTimeout=30
CronStarted=true

[OS]
Name=Linux
Architecture=amd64
Version=3.10.0-1160.92.1.el7.x86_64
SystemEncoding=UTF-8

[Disk]
DiskFree=29160
DiskUsable=25003
DiskTotal=100701

[JavaVM]
Version=17.0.1
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.1+12
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=116987
HeapSize=334848
HeapMaxSize=524288
TotalFreeSize=306427

[Cache]
ObjectCache=449
ObjectCacheMax=10000
ObjectCacheRatio=4
ProcessCache=449
ProcessCacheMax=10000
ProcessCacheRatio=4
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=11.20
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.6.0
DBDate=2023-07-21 14:02:59
DBDateOffset=0
DBPatchLevel=5;P03;bc4366987393580404a47f28cbc198d5
UsingBLOBs=true

[Healthcheck]
Date=2023-07-21 14:02:59
ElapsedTime=178

Un attribut booléen obligatoire ne peut pas voir de valeur null

Un attribut booléen non obligatoire le peut (notamment avec le rendering en select box), ex:
image

Le champ “Enfant” n’est pas obligatoire grâce à la contrainte. Pourtant la case “non” est cochée automatiquement lorsque je sélectionne “oui” pour “Toute population” alors qu’elle n’était pas cochée avant.

Y compris avec le rendering en select box à 3 valeurs (null/oui/non) ?

oui, également avec ce rendering.
Dans le doute j’ai modifié l’attribut “Enfant” afin qu’il soit non obligatoire par défaut, le comportement est le même, valeur “non” qui se met automatiquement :

Bonjour, est-ce qu’il s’agit bien d’un bug ?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.