2009-08-18 3 views
10

Je souhaite éviter les adresses e-mail en double lors de l'enregistrement. Comment procéder pour valider la zone de texte lors de la saisie afin que la même adresse e-mail ne soit pas acceptée deux fois?Comment empêcher les adresses e-mail en double sur un formulaire d'inscription d'utilisateur?

+55

Où est le badge "Soyez impoli envers un nouvel utilisateur"? Nous en distribuerions beaucoup ces jours-ci. Couper la personne un peu mou. L'anglais n'est probablement pas sa langue maternelle et c'est sa première fois ici. Au moins, il a pris la peine de s'inscrire. – tvanfosson

+7

Tout à fait d'accord avec @tvanfosson, peut-être qu'il vaudrait mieux poser la question sur Experts-Exchange ...? – Kieron

+8

+1 pour tvanfosson pour pointer vers un problème de débordement de pile réel. – bastianneu

Répondre

0

Ce code ne serait pas entré dans/sur une zone de texte plutôt que lorsque les formulaires sont soumis, vous vérifieriez s'il était déjà utilisé. Aussi, si vous voulez le faire autrement (pendant que l'utilisateur tape), vous pouvez utiliser ajax pour vous aider à le faire.

15

Je pense qu'il est probablement le plus approprié géré comme une contrainte d'unicité (ou un index unique) sur cette colonne dans la base de données. Cela garantit l'intégrité de la base de données et vous pouvez vérifier le message d'erreur pour déterminer si l'insertion/mise à jour a échoué.

1

Je connais deux façons. Way 1: interroger dynamiquement la base de données et afficher un message du type "Cette adresse email est déjà dans le serveur, veuillez en choisir une autre" Vous feriez le contrôle chaque fois que l'utilisateur tapait dans la zone de texte.

Façon 2: Avoir un enregistrement en deux phases où sur la soumission des informations, vous avez une routine de validation pour vérifier que toutes les informations sont acceptables - dans votre cas, ce serait pour vérifier la duplication des adresses email.

Je recommande la deuxième façon de mettre en place - cela réduit la charge du serveur.

0

Je suggère de faire à la fois l'index unique sur la base de données pour protéger l'intégrité des données, mais vous devez également avoir des validations sur submit ou via un appel ajax qui vérifie également l'adresse email.

Questions connexes