Affichage des messages d'erreur en haut de l'écran

Affichage des messages d'erreur en haut de l'écran
0
Tags: #<Tag:0x00007f5e55df81c0>

Bonjour,
Est-ce qu’il y a un moyen pour afficher tous les messages d’erreurs en haut de l’écran ?

Exemple, si un attribut obligatoire est absent, le message correspondant s’affiche par défaut en dessous, on voudrait le voir plutôt en haut de l’écran, cela sera plus visible, surtout si l’utilisateur n’est pas sur l’onglet contenant cette erreur.

Erreur%20en%20haut%20de%20page

Merci d’avance.
Abed.

Cf. https://www.simplicite.io/resources/4.0/javadoc/com/simplicite/util/Message.html#formatError-java.lang.String-java.lang.String-java.lang.String-

Ah non désolé j’ai mal lu. C’est l’inverse que vous voulez…

A ma connaissance c’est pas possible de “désassocier” les messages d’erreur des champs générés par le socle pour qu’ils s’affichent en tête de formulaire.

Euh en fait ma mémoire est mauvaise il y a un bien paramètre systeme global (FORM_INLINED_MESSAGE) pour ça:

Merci @david.

Normalement, c’est exactement ce qu’il me faut, sauf que ça n’a pas l’air de fonctionner comme prévu !

Les messages restent au niveau du formulaire.

Je ne sais pas si cela a été reporté sur la UI responsive, à voir.

Mais en terme d’UX :

  • Il est fortement déconseillé de mettre des champs obligatoires dans des onglets cachés, il est préférable dans un monde mobile de faire des pages “hautes”. De guider l’utilisateur avec des formulaires simple plutôt que le gronder s’il ne voit pas ce qu’il faut faire.

  • Simplicité tente de changer d’onglet courant en cas d’erreur sur un champ caché, mais il peut y avoir plusieurs erreur dans des onglets distincts

  • mettre l’erreur là où elle est utile est la meilleure solution, imaginons que vous ayez 30 champs en erreur, ça devient illisible si tout est en haut.

La disposition des champs dans les onglets a été faite pour des raisons métiers.
C’est vrai que mettre l’erreur là où elle est utile est la meilleure solution, encore faut-il qu’on soit le sur le bon onglet pour voir l’erreur, mais je n’ai pas l’impression que Simplicité change d’onglet courant pour se positionner sur un onglet qui contient une erreur (n’importe quel onglet et n’importe quelle erreur s’il y en a plusieurs).

Bonjour,

Est-ce que vous pensez que le paramètre systeme global (FORM_INLINED_MESSAGE) va être opérationnel sur la UI responsive ?

Ayant plusieurs onglets dans pas mal d’objet, si l’utilisateur essaie d’enregistre alors qu’une erreur se cache dans un autre onglet, c’est un peu gênant, puisque qu’il n’y a pas de message d’erreur sur l’onglet ou il est, ni en haut de la page et Simplicité ne bascule pas automatiquement vers l’onglet contenant l’erreur.

Si éventuellement il y a plusieurs erreurs, sur un ou plusieurs onglets, une des deux solutions suivantes sera la bienvenue :

  • On affiche tous les messages en haut de l’écran.
  • En bascule en automatique sur n’importe quelle erreur et n’importe quel onglet (contenant l’erreur).
    Et l’utilisateur les traitera au fur et à mesure.

Merci d’avance.
Abed.

Ce paramètre est deprecated, il avait été mis en place pour compatibilité ascendante V2/V3.

En V4 responsive : il faut effectivement doubler le message d’erreur à l’écran, car le cas onglet masqué n’est pas suffisant, il y a aussi les champs en dehors de la zone de scroll verticale, ou autre contrainte spécifique de masque dynamique via display:none ou .hidden par contrainte ou code

Ca devrait pas être méchant à faire aujourd’hui

Merci @francois, je pense que vous avez fait qq choses, les messages d’erreurs d’un autre onglet s’affichent bien en haut de l’écran maintenant.
Abed.

Bonjour,
je rebondis sur ce ticket car j’ai le besoin inverse.
J’ai un formulaire avec plus de 50 champs répartis dans différentes zones repliables.
Actuellement 50 messages d’erreur s’affichent en haut de la page et sur chaque champ.
Nous souhaiterions que les messages d’erreurs s’affichent toujours au niveau des champs, mais pas en haut de la page (nous prévoyons un seul message d’erreur informant l’utilisateurs qu’il y a des erreurs dans le formulaire).
Est-ce possible ?

Cordialement

Informations sur le produit :
[Platform]
Status=OK
Version=4.0.P23
BuiltOn=2019-10-16 15:49 (revision c593f0a150e20cf2852acf4105f7e5272bb9ed26)

[Application]
ApplicationVersion=4.0

Je pense que la réponse est effectivement dans un compromis de ces 2 besoins auquel j’ajoute le mien :

  • S’il y a trop d’erreurs, il faut que la UI limite la dimension en haut de l’écran (scroll sur 3 visibles et non 50)
  • Et ce serait cool qu’un click sur une erreur du haut de page mette le focus sur le champ perdu dans tous les onglets masqués.

Voilà ce que ça donnera en V5 :

  • flex box pour limiter la taille des messages qui ne feront plus 100% de largeur
  • message clickable lorsqu’il est lié à un champ, pour le rendre visible (activation des tabs cachés) et y mettre le focus