On parle d’ajouter une intégrité des données sur des champs libres / avec assistance de saisie par complétion avec des données d’un autre référentiel (on aurait pu aussi implémenter ce besoin via un Datamap).
On peut imaginer passer les champs liés (la commune du seul code postal saisissable) en lecture seule en front. Et mettre un contrôle au validate qui ne passera pas si le champ (commune) est vide = la personne n’a pas sélectionné un item pour le valoriser.
Mais ça ne corrigera pas la cohérence si la personne sélectionne une commune, puis rechange le code postal sans resélectionner une autre commune valide…
Il faut donc obligatoirement que le validate refasse une appel à votre web-service en back pour vérifier la cohérence des données (revaloriser les champs liés ou les remettre à vide si la commune n’existe pas) et retourner un message utilisateur.
Il y aurait peut être un axe d’amélioration de la complétion (pas que dans ce cas là) = automatiquement sélectionner le record proposé quand il n’y en a qu’un et qu’on tape [enter] ou [tab]
C’est vrai que c’est troublant que quand on a tapé un truc qui identifie un seul record on soit quand même obligé de cliquer à la souris pour le sélectionner.
Ok donc c’est le même raisonnement mais avec le code postal en lecture et la commune en saisie.
Il faut à minima refaire l’appel de service + contrôle d’intégrité dans le postValidate des 2 champs.
Ok j’ai vérifié l’autoselect en completion est activé que sur une FK ou un Datamap.
On va ajouter cette option en completion de champ libre, je ne sais plus pourquoi ça n’avait pas été fait, mais je vois pas de raison de ne pas le faire, historiquement on ne voulait peut être assurer une compatibilité ascendante qui ne le faisait pas par défaut.
Nous avons du revenir en arrière sur ce point pour laisser l’auto-select d’une ligne à faux par défaut car cela ne va pas dans des cas simples d’usage (si on cherche à renseigner une valeur existante “moins quelque chose”, ça resélectionne toujours l’ancienne valeur, sauf à faire ESC qui n’est pas intuitif).
Pour activer l’auto-sélection, il faudra maintenant le paramétrer explicitement sur le champ Auto-completion du champ :
Pour obliger une sélection en liste s’il y en a plusieurs choix, ça n’existe pas.
Mettez une aide en ligne.
La complétion reste une aide à la saisie, pas une contrainte d’intégrité entre champs.
L’utilisateur peut très bien sélectionner une valeur puis la modifier dans le champ (fermer le dropdown via la touche ESC), et enregistrer.
C’est donc la validation en back qui doit vérifier qu’il a bien sélectionné OU renseigné manuellement un code postal cohérent avec la commune.
L’auto-sélection en front c’est uniquement pour éviter un click si le choix est unique.
Ce sera poussé au prochain build V4+.