0

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

在应用程序 lib 文件夹中,我创建了名为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部分,则视图是可访问的,否则,将在该行生成错误,因为它显示在下面的屏幕截图中:

在此处输入图像描述

4

1 回答 1

1

lib不会自动添加到LOAD_PATH. 要解决此问题,请附加lib文件夹config.autoload_paths或在模型开头添加要求

require 'lib/email_format_validator'
于 2013-04-21T07:44:26.287 回答