Rails 4.2中的无表格验证

时间:2015-06-29 17:21:57

标签: ruby-on-rails ruby-on-rails-4

我正在尝试验证一个没有绑定到任何真实模型的表单,所以我做了以下内容:

模特

class FormRequest

    include ActiveModel::Model

    attr_accessor :email

    validates :email, presence: true, email: true

end

和控制器中的方法

# The form is shown
def index
    @form_request = FormRequest.new
end

但是当我加载页面时,我收到了这个错误:

  

未知验证者:'EmailValidator'

我错过了什么?

2 个答案:

答案 0 :(得分:1)

您没有email: true验证码。

要验证电子邮件,您可以使用正则表达式:

VALID_EMAIL = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL }

答案 1 :(得分:0)

我找到了一个解决我的问题的简单解决方案,使用以下gem

gem 'email_validator'

似乎(令人惊讶的)Rails 4不包含电子邮件验证器。