<%= simple_form_for (@category), :validate => true do |f| %>
<%= f.error_messages %>
<ol class="formList">
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.input :category, :size =>20, :title => "Enter Category Name" %>
<%= f.submit %><div class="load_preview_customer"><%= f.submit "preview", :style => 'width:100px;', data: {:disable_with=>"loading preview..."} %></div>
</ol>
<% end %>
验证工作只有当我点击提交按钮而不是当字段超出字段时,我还在初始化程序目录下生成了rails.validation文件,并在application.js中添加了简单表单的资源
答案 0 :(得分:1)
您必须在rails.validations之后添加rails.validations.simple_form。您也可以添加如下:
(<%= javascript_include_tag "application", "rails.validations", "rails.validations.simple_form" %>)
或者,
在app / assets / javascripts / application.js中:
//= require rails.validations
//= require rails.validations.simple_form
然后在app / views / layouts / application.html.erb中将javascript_include_tag更改为以下内容:
<%= javascript_include_tag "application" %>
答案 1 :(得分:0)
在您描述的过程中有很多工作,因此添加更多细节会很好。例如:澄清发生的事情与您期望在此发生的事情之间的区别。了解这个宝石的功能也很重要 - 也许它正在按预期工作。此类操作基于浏览器生成的事件,例如,单击按钮与模糊事件完全不同。换句话说,宝石可能只对某些事件起作用。扩大情况!
答案 2 :(得分:0)
我认为simple_form的错误消息只是传递Rails验证错误。听起来你想要一些客户端验证。也许您希望使用一些前端j来匹配您的rails验证要求。
编辑: 我在评论中注意到你提到了你跟随的railscast剧集注意!这是一个三岁的插曲。我在railscast的评论中看到有人推荐这个gem作为当前的选择: https://github.com/kalkov/rails4_client_side_validations
它也没有得到很好的支持,但是如果你使用的是rails 4,你可能会有更好的运气。