53 votes

Quel est le moyen le plus simple et le plus simple de valider une adresse e-mail dans Ruby ?

Quel est le moyen le plus simple/le plus simple de valider une adresse e-mail en ruby (côté serveur) ?

79voto

apneadiving Points 64660

Vous pouvez regarder si cela correspond ou non à une expression rationnelle comme celle utilisée dans ce validateur Rails :

 validates_format_of :email,:with => /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/

Mais si vous utilisez Devise, faites simplement :

 validates_format_of :email,:with => Devise::email_regexp

Source : http://lindsaar.net/2008/4/14/tip-4-detecting-a-valid-email-address

Édition 1 :

site utile pour les tests : http://www.rubular.com/

8voto

paxdiablo Points 341644

En Rubis ? De la même manière que dans n'importe quelle langue.

Envoyez un e-mail de confirmation à l'adresse avec un lien sur lequel le destinataire doit cliquer avant que l'adresse e-mail ne soit considérée comme entièrement validée.

Il existe un certain nombre de raisons pour lesquelles une adresse parfaitement formatée peut toujours être invalide (aucun utilisateur réel à cette adresse, bloqué par des filtres anti-spam, etc.). La seule façon de savoir avec certitude est une transaction de bout en bout réussie d'une certaine description.

7voto

partydog Points 182
validates :email, presence: true, format: /\w+@\w+\.{1}[a-zA-Z]{2,}/

vérifie que le champ email n'est pas vide et qu'un ou plusieurs caractères précèdent le '@' et le suivent

Spécificité ajoutée, tout mot ou plus avant le @ et tout mot ou plus après et entre spécifiquement 1 . et au moins 2 lettres après

6voto

Moises Zaragoza Points 1447

Je sais que c'est une vieille question, mais je cherchais un moyen simple de le faire. Je suis tombé sur un bijou email_validator, c'est vraiment simple à configurer et à utiliser.

en tant que validateur

validates :my_email_attribute, :email => true

Validation hors modèle

EmailValidator.valid?('narf@example.com') # boolean

J'espère que cela aidera tout le monde.

Codage heureux

4voto

akshay Points 701

Vous pouvez utiliser

 <%=email_field_tag 'to[]','' ,:placeholder=>"Type an email address",:pattern=>"^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},*[\W]*)+$",:multiple => true%>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X