我只想在输入电子邮件后验证电子邮件。
我尝试了以下方法:
validates :email, :presence => {:message => "Your email is used to save your greeting."},
:email => true,
:if => Proc.new {|c| not c.email.blank?},
:uniqueness => { :case_sensitive => false }
但是,这不起作用,因为它会在电子邮件留空时停止显示错误消息。
如何在电子邮件丢失时验证是否存在,并且仅在输入时验证格式?
最佳答案
这应该可以解决问题。
validates :email,:presence => {:message => "Your email is used to save your greeting."}, :allow_blank => true,:uniqueness => { :case_sensitive => false }
使用
:allow_blank => true
或 :allow_nil => true, :if => :email?
编辑:修复错字。
关于ruby-on-rails-3 - 仅当非空白 Rails 3 时才验证电子邮件格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6567793/