未找到自定义验证

时间:2013-04-21 07:40:50

标签: ruby-on-rails ruby ruby-on-rails-3 customvalidator

我正在关注官方documentation,以便创建一个简单的自定义验证,以检查电子邮件地址是否格式正确。

在应用程序li​​b文件夹中,我创建了名为 email_format_validator.rb 的文件,其中包含以下代码:

class EmailFormatValidator < ActiveModel::EachValidator

  def validate_each(object, attribute, value)
    unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
      object.errors[attribute] << (options[:message] || "is not formatted properly")
    end
  end

end

在我的模型中,我有以下检查:

validates :email, presence: true, email_format: true

如果我评论 email_format:true 部分,则可以访问这些视图,否则会生成此行上的错误,因为它显示在下面的屏幕截图中:

enter image description here

1 个答案:

答案 0 :(得分:1)

lib未自动添加到LOAD_PATH。要解决此问题,请在lib中附加config.autoload_paths文件夹,或在模型的开头添加需要

require 'lib/email_format_validator'