2

私のサイトでは、別の検証を使用したい (たとえば、登録ページではクライアント側の検証を使用しますが、投稿ページでは標準の検証を使用します =>

  <% 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 %>

しかし、空のフォームを送信すると、標準の検証とクライアント側の検証が表示されましたここに画像の説明を入力

それ自体が「空白にすることはできません」を追加します(私の写真では、タイトルとテキストのフィールドの下)

私はそれが作ると思います 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

このフォームだけをオフにするにはどうすればよいですか?

4

1 に答える 1

0

フォームが送信されているため、クライアント側の検証用のスクリプトが機能していないと思います。クライアント側でフォームを検証したくない場合は、フォームの ':validate' パラメータを false に設定します。

<%= book.fields_for :pages, :validate => false do |page| -%>
于 2012-08-30T12:55:43.973 に答える