小编Mar*_*vin的帖子

Rails 3,未知验证器:'EmailValidator'

我尝试在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
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

如果我想启动服务器,我收到一个错误:

Unknown validator: 'EmailValidator' (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

email validation ruby-on-rails ruby-on-rails-3

18
推荐指数
2
解决办法
9167
查看次数