如何在ActiveRecord中验证电子邮件字段的格式?

asm*_*sta 41 ruby-on-rails rails-activerecord

我在Rails应用程序中有一个User模型,它有一个电子邮件字段.是否有默认验证可确保电子邮件格式正确?如果没有,我将如何验证该字段?

Jon*_*ret 97

添加你的gemfile:

gem 'validates_email_format_of'
Run Code Online (Sandbox Code Playgroud)

在你的模型中:

validates :email, email_format: { message: "doesn't look like an email address" }
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想使用gem,请使用正则表达式:

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