0

私はレール 3 で nested_form を使用しており、ユーザーが追加または削除できる動的フィールドがあります。

これらのフィールドの jquery セレクターを知る必要があるため、フィールド間で JavaScript の計算を行うことができます。現在、動的フィールドには現在の日時がフィールドとして設定されています。通常、動的フィールドの検証はどのように処理されますか?

<%= nested_form_for [@project, @quote], :html => {:class =>'form-inline'} do |f| %>
<div>
  <%= f.hidden_field :project_id %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.label :status %>
  <%= f.text_field :status %>
</div>
  <p>
    <h4> Labour Items </h4>
  </p>
  <p>
    <%= f.fields_for :labouritems, :html => { :class => 'form-vertical' } do |builder| %>

    <%= builder.label :description %>
    <%= builder.text_field :description, :class => "input-medium" %>
    <%= builder.label :hours %>
    <%= builder.text_field :hours, :class => "input-mini" %>
    <%= builder.label :total %>
    <%= builder.text_field :total, :class => "input-mini" %>
    <%= builder.label "Mup/Hr" %>
    <%= builder.text_field :muphourrate, :class => "input-mini" %>
      <%= builder.label "Mup/Total" %>
    <%= builder.text_field :muptotal, :class => "input-mini" %>
    <%= builder.label "Mup/%" %>
    <%= builder.text_field :muppercent, :class => "input-mini" %>
    <%= builder.label "Contractor" %>

    <%= builder.autocomplete_field :contractor_name, autocomplete_contractor_firstname_contractors_path, :update_elements => {:id => "##{form_tag_id(builder.object_name, :contractor_id)}" , :hourly_rate => "##{form_tag_id(builder.object_name, :contractor_rate)}"   },:class => "input-small",:placeholder => "Seach" %>
    <%= builder.hidden_field :contractor_id  %>
    <%= builder.label "Rate/hr"  %>
    <%= builder.text_field :contractor_rate,:class => "input-mini" %>
    <%= builder.label "Work %" %>
    <%= builder.text_field :progress_percent, :class => "input-mini" %>
    <%= builder.label "Work $" %>
    <%= builder.text_field :progress_payment, :class => "input-mini" %>

    <%= builder.link_to_remove "Delete",:class => 'btn btn-small btn-danger'   %>

  <% end %>

  <%= f.link_to_add "Add Item", :labouritems, :class => 'btn btn-small btn-primary' %>
</p>
4

1 に答える 1

0

検証する必要がある情報の種類はわかりませんが、このようなものが役立つはずです。検証するすべてのフィールドには、クラスまたは ID が必要です。特定の質問を特定の方法で検証する必要がある場合は、ID を$("#elements_id")指定し、jQuery で選択するために使用します。

$(".form-inline").submit(function(){

  $.each($(".input-mini"), function(){
    if($(this).val() == ""){
      $("#warnings").html("<p> Ooops, you forgot something </p>"); // Warn
      return false;  // Don't submit
    }
  }

});
于 2012-10-14T14:38:00.663 に答える