2012-12-09 10 views
40

Bir e-posta alanına sahip bir Rails uygulamasında Kullanıcı modelim var. E-postanın doğru biçimde olmasını sağlayacak varsayılan bir doğrulama var mı? Eğer değilse, o alanı doğrulamak için nasıl giderim?ActiveRecord'da bir e-posta alanının biçimi nasıl doğrulanır?

gem 'validates_email_format_of' 

modelinizdeki:

+0

: Bir mücevher kullanmak istemiyorsanız

validates :email, email_format: { message: "doesn't look like an email address" } 

Ya da, normal ifadeler kullanabilirsiniz geçerli bir e-posta adresi e-posta gerçekten var mı, yoksa e-posta biçimine mi uyuyor? – nurettin

+12

Bunun kapalı olduğu garip. Çok özel olmayabilir, ama burada gerçek bir soru görüyorum. – sscirrus

+0

@sscirrus Peki, tamamen seçici olmak için, aslında bir soru sormadı. Ayrıca, sadece SO üzerinde kod bildirimleri istemek iyi bir davranış değildir. Daha uygun bir soru, "istenen sonucu yapan bir kod yazmaktan nasıl kurtulur?" – anthropomorphic

cevap

96

sizin gemfile ekleyin `tarafından

validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i 
+1

İyi yanıt, teşekkürler –

+1

Sağladığınız normal ifade şu şekilde görünmüyor:/ – Paladini

+1

Sadece şunu kullan: 'with:/@ /' https: //davidcel.is/posts/stop-validating-email-addresses-with-regex/ –