Rails,简单表单和客户端验证不起作用

时间:2012-09-06 19:11:20

标签: ruby-on-rails simple-form client-side-validation

我的模特:

class Hotel < ActiveRecord::Base
attr_accessible :name
belongs_to :user
has_many :room_types
validates :user_id, presence: true
validates :name, presence: true, length: { in: 2..15 }
end

表单代码:

    <%= simple_form_for @hotel, :validate => true do |f| %>
    <%= f.input :name %>
    <%=  f.submit 'Create Hotel' , :class => 'btn btn-primary', :type => 'submit' %>
   <% end %>

似乎没有执行任何客户端验证。我可以在不填写任何信息的情况下提交表格。有什么想法吗?

编辑:好的,我查看了我的页面的来源,它有这个错误:

window ['new_hotel'] = {“type”:“SimpleForm :: FormBuilder”,“error_class”:“DEPRECATION WARNING:[SIMPLE_FORM] SimpleForm.error_class已弃用且无效。(从(eval)的error_class调用:1 )“,”“error_tag”:“弃用警告:[SIMPLE_FORM] SimpleForm.error_tag已弃用且无效。(从(eval)的error_tag调用:1)”,“wrapper_error_class”:“DEPRECATION WARNING:[SIMPLE_FORM] SimpleForm。不推荐使用wrapper_error_class并且没有效果。(从(eval)的wrapper_error_class调用:1)“,”wrapper_tag“:”DEPRECATION警告:[SIMPLE_FORM] SimpleForm.wrapper_tag已弃用且无效。(在(eval)从wrapper_tag调用:1)“,”验证者“:{”hotel [name]“:{”presence“:{”message“:”不能为空“},”length“:{”messages“:{”maximum“: “太长(最多15个字符)”},“最大”:15}}}};

1 个答案:

答案 0 :(得分:3)

您必须在browser_validations文件中设置config/initializers/simple_form.rb选项

# Tell browsers whether to use default HTML5 validations (novalidate option).
# Default is enabled.
config.browser_validations = true

PS别忘了运行

$ rails g simple_form:install

生成初始化程序。