web-dev-qa-db-fra.com

Validation des mots de téléphone / numéros de vanité

Je suis en train de repenser un système dans lequel l'utilisateur peut entrer diverses coordonnées pour les associés via un formulaire de données personnelles.

Dans ce formulaire, il y a un champ de saisie de numéro de téléphone. Une fois le numéro de téléphone entré, il apparaît en mode lecture sous forme de numéro cliquable. Il composera donc le numéro de l'utilisateur si vous cliquez dessus.

Il y a un nombre fini de caractères autorisés dans le champ en dehors des nombres - tirets, points, espaces, parenthèses, clé de hachage e.t.c

Certaines personnes choisissent de saisir des numéros de contact d'entreprise contenant des mots de téléphone (ou des numéros personnalisés). Par exemple - 18000 Appeler Sony

Cependant, certains utilisateurs parcourent simplement le formulaire et mettent des lettres dans le champ du numéro de téléphone, par exemple 1800 876 5432 (appel après 6) ou 1800 876 5432 Ext450

J'essaie de concevoir un formulaire qui acceptera les mots de téléphone comme contacts viables (convertissant les lettres en chiffres dans les coulisses - et donc les rendant diallables) mais en même temps, j'exécute une erreur de validation contre d'autres lettres/mots qui provoquent une erreur système lors de la saisie dans le cadre d'un code de numérotation.

Le problème actuel est que les gens y entrent beaucoup de données inutilisables

Mots de téléphone (ou numéros de vanité)

par exemple 1800 Appeler Sony

ci-joint est une image de la section téléphone du formulaire

enter image description here

5
Spiral13

Autant que je sache, tout ce qui compte, c'est que l'utilisateur spécifie un numéro valide, quelle que soit la façon dont il le saisit.

Je recommanderais:

  1. Faire savoir à l'utilisateur que vous acceptez les caractères alphabétiques, correspondant au numéro sur un clavier américain *, peut-être en donnant un exemple, tel que 1800-EXAMPLE deviendrait 1800-3926753. Il suffirait d'ajouter une étiquette avant, après ou à côté des champs de saisie

  2. Convertir le numéro et afficher à l'utilisateur le numéro qu'il a entré et le numéro auquel vous l'avez converti. Cette étape est importante, car elle renforce le concept et permet à l'utilisateur de se rendre compte s'il a mal compris

  3. Ne vous inquiétez pas trop si l'utilisateur saisit un numéro de vanité officiel valide (comme l'exemple 1800 CALL SONY que vous avez donné), juste si le texte qu'il a entré peut être converti en un numéro valide.

Je recommanderais également d'éviter le terme "numéro de vanité", mais uniquement parce que le mot "vain" a des connotations négatives. Cependant, ce n'est qu'un reproche personnel, vous pouvez donc le prendre ou le laisser.

Pour 1 et 2, je recommanderais quelque chose comme (exemple rapide seulement!):

Example

J'aime que vous ayez donné l'espace utilisateur pour écrire une extension et des notes. Je pense que c'est une bonne approche pour lutter contre les problèmes que vous avez déjà avec la saisie de données.

* Je ne connais aucune différence entre les claviers des téléphones américains/britanniques/autres, etc., mais il est probablement plus sûr de dire quelle norme de clavier vous utilisez, sauf si vous êtes sûr qu'ils sont tous les mêmes.

5
oliver-clare

Comme LordScree, mon instinct est d'effectuer une transformation en ligne, en transformant les lettres en nombres équivalents au fur et à mesure de leur saisie. Le seul inconvénient est que cela impliquera que les numéros de téléphone seront affichés sous forme de chiffres plutôt que de texte pour l'utilisateur final, et je ne sais pas si c'est votre intention réelle.

Sinon, puis-je suggérer d'afficher le numéro de téléphone transformé sur le côté du champ du formulaire? Cela indiquera au moins que le texte saisi est analysé en tant que nombre.

Je ne recommande pas de se fier uniquement aux étiquettes ou au texte explicatif. Les utilisateurs sautent invariablement ce texte, car sur la plupart des sites, cela ne vaut pas la peine d'être lu.

1
Jimmy Breck-McKye