我在rails中的simple_form中有一些嵌套属性(使用simple_fields_for)。
主要形式就像这样开始,欧芹正常运作:
<%= simple_form_for(@enquiry, wrapper: :vertical_form, html: {"data-parsley-validate" => ''}) do |f| %>
<%= f.input :total_budget, class: 'form-control', placeholder: 'Please enter your total or per head budget', label: 'Budget', input_html: { "data-parsley-error-message" => "Please enter a budget", "data-parsley-trigger" => "focusin focusout change" } %>
然而,在下面的形式中,我有这个:
<%= f.simple_fields_for :client do |builder| %>
<%= render 'sign_up_fields', f: builder %>
<% end %>
并且渲染的部分是:
<div class="row">
<div class="col-md-6">
<div class="form-group">
<%= f.input :first_name, class: 'form-control', placeholder: 'First name' %>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<%= f.input :last_name, class: 'form-control', placeholder: 'Last name' %>
</div>
</div>
</div>
<%= f.simple_fields_for :user do |builder| %>
<div class='row'>
<div class="col-md-6">
<div class="form-group">
<%= builder.input :email, class: 'form-control', placeholder: 'Email', required: "true" %>
</div>
<% if builder.object.errors[:email] %>
<%= f.object.errors[:email].join(", ") %>
<% end %>
</div>
<div class="col-md-6">
<div class="form-group">
<%= f.input :phone_number, class: 'form-control', placeholder: 'Phone number' %>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<%= builder.input :password, class: 'form-control', placeholder: 'Password', required: "true" %>
</div>
<% if builder.object.errors[:password] %>
<%= f.object.errors[:password].join(", ") %>
<% end %>
</div>
<% end %>
</div>
我尝试过以各种方式将parsley-data-validation添加到simple_fields_for部分,没有尝试过,并尝试将parsley验证添加到实际字段中,但是也没有。
还有什么我应该做的不同吗?
干杯
答案 0 :(得分:0)
原来我是个白痴。
我在验证的字段中输入了错误的ID。我仍然需要使用额外的j来验证该字段;它并没有被主要的html所吸引:{&#34; data-parsley-validate&#34; =&GT; &#39;}在表单的顶部。
$(&#39;#enquiry_client_attributes_user_attributes_email&#39)欧芹(&#39;验证&#39);