Dans la programmation d'un module d'application basé sur une table (c'est-à-dire que l'utilisateur entre principalement des données tabulaires dans un tableau déjà agencé), comment rejetteriez-vous l'entrée utilisateur pour une cellule donnée? Le scénario est le suivant: l'utilisateur édite la cellule, entre quelque chose (texte, image, ...) et vous voulez qu'ils remarquent quand ils finissent d'éditer (en appuyant sur Entrée, par exemple) que leur entrée n'est pas valide pour votre donné "format" (au sens large: il se peut qu'ils aient entré une chaîne à la place d'un nombre, que leur entrée soit trop longue, trop courte, qu'ils incluent une image alors que ce n'est pas acceptable, ...).Comment refuser visuellement la saisie d'un utilisateur dans un tableau?
Je vois deux choses différentes qui se passe:
- Vous pouvez adapter assez facilement leur entrée dans le format, et vous le faites, mais vous les voulez qu'il remarque afin qu'ils puissent changer si votre proposition est pas assez bon (exemple: ils ont entré "15.47" dans un champ qui doit être un entier, donc votre programme le fait "15")
- Vous ne pouvez pas deviner quoi faire avec leur entrée, et vous voulez les informer que ce n'est pas valide.
Ma question est spécifiquement: quel affichage visuel pouvez-vous offrir pour informer l'utilisateur que son entrée est invalide? Est-il préférable de refuser de quitter le mode d'édition ou non?
Les deux choses que je peux imaginer sont:
- couleurs à l'aide (fond rouge si invalide, fond jaune pour mon cas 1 ci-dessus)
- lorsque vous rejetez une entrée, faire quelque chose comme Apple le fait pour le mot de passe entrée de comptes utilisateur: vous faites «trembler» la cellule (c'est-à-dire oscillant à gauche et à droite) pendant une seconde, et gardez la mise au point/édition dans leur afin qu'ils ne perdent pas ce qu'ils ont tapé.
Écoutons vos suggestions.
PS: Cette question est, au moins dans mon processus de pensée, en quelque sorte une continuation et une spécialisation de ma question précédente sur getting users to read error messages.
PPS: Fait ce wiki communautaire, est que la bonne chose à faire sur ce genre de question ou non?