2012-12-09 36 views
40

我有一個Rails應用程序中有一個電子郵件字段的用戶模型。是否有默認的驗證來確保電子郵件格式正確?如果沒有,我將如何去驗證該領域?如何驗證ActiveRecord中電子郵件字段的格式?

+0

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

或者,如果你不想使用寶石,使用正則表達式有效的電子郵件地址'你的意思是電子郵件確實存在,或者它適合電子郵件格式? – nurettin

+12

這很封閉。這可能不是特別具體,但我在這裏看到一個真正的問題。 – sscirrus

+0

@sscirrus好吧,爲了完全挑剔挑剔,他實際上並沒有提出一個問題。此外,在SO上尋求代碼講義並不是一個好的行爲。一個更合適的問題是「如何編寫能夠實現[期望結果]的代碼?」 – anthropomorphic

回答

96

添加在您的Gemfile:

gem 'validates_email_format_of' 

和模型:由`

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

好的答案,謝謝 –

+1

你提供的正則表達式似乎不起作用:/ – Paladini

+1

只需使用:'with:/ @ /'https: //davidcel.is/posts/stop-validating-email-addresses-with-regex/ –