Rails客户端验证

时间:2012-08-30 12:21:59

标签: ruby-on-rails validation

在我的网站中,我想使用不同的验证(例如 - 在我的注册页面 - 我使用客户端验证,但在我的帖子页面 - 我使用标准验证=>

  <% if post.errors.any? %>
    <div id="errorExplanation">
        <h2><%= pluralize(post.errors.count, "error") %> prohibited this post from being saved:</h2>
        <ul>
          <% post.errors.full_messages.each do |msg| %>
               <li><%= msg %></li>
          <% end %>
        </ul>
    </div>
  <% end %>

但是当我提交我的空表单时 - 我看到了标准验证和客户端验证enter image description here

它本身增加了“不能为空”(在我的图片中 - 带有标题和文字的字段下)

我认为这会使config/initializers/client_side_validation.rb

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
  unless html_tag =~ /^<label/
    %{<div class="field_with_errors">#{html_tag}<label for="#{instance.send(:tag_id)}" class="message">#{instance.error_message.first}</label></div>}.html_safe
  else
    %{<div class="field_with_errors">#{html_tag}</div>}.html_safe
  end
end

如何关闭它,仅限于此形式?

1 个答案:

答案 0 :(得分:0)

我认为客户端验证的脚本无法正常工作,因为表单已提交。如果你想要一个表格不能在客户端验证,':validate'参数为ur形式的假。

<%= book.fields_for :pages, :validate => false do |page| -%>