我尝试在我的 rails 应用程序中添加电子邮件验证器。我创建了以下文件/lib/validators/email_validator.rb
class EmailValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
在 application.rb 我添加了这一行:
config.autoload_paths << "#{config.root}/lib/validators"
这是我的用户模型:
class User < ActiveRecord::Base
attr_accessible :email, :password,:name
validates :email, :presence => true, :uniqueness => true, :email => true
end
如果我想启动服务器,我得到一个错误:
Unknown validator: 'EmailValidator' (ArgumentError)
有人知道我该如何解决这个问题吗?