在RoR中验证电子邮件地址

时间:2011-04-04 11:39:31

标签: ruby-on-rails

我正在尝试验证用户输入的电子邮件地址。我已经在模型中完成了验证,但它无法正常工作。我在模型中使用了以下内容......

class Employee < ActiveRecord::Base
  belongs_to :department
  validates_presence_of :emp_name_official
  validates_presence_of :emp_name_full
  validates_format_of :emp_email_personal, :with=>/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :message=>"Not a valid email format"
end

我正在使用版本2.0.2的rails。

当我在模型中评论验证行时,它工作正常。当我提供正确的电子邮件地址时,也可以正常工作。

任何人都可以告诉我哪里出错了。

以下是错误页面。

enter image description here

3 个答案:

答案 0 :(得分:1)

我刚刚整理出来。这是我所有验证的问题。如果任何验证失败,则抛出上述no方法错误。我会研究为什么会出现这种错误。我会为它打开一个单独的问题。

感谢所有人的回复和指示。

答案 1 :(得分:0)

这可能与你的正则表达式之后的'i'试验有关吗?

答案 2 :(得分:0)

试试这个

  EmailRegex = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

  validates_format_of :email, :with => EmailRegex
相关问题