我在多模型表单中使用client_side_validation gem。它工作正常,但我有一个问题。表单有一个保存按钮,应该允许用户保存表单以供日后使用。单击此按钮时,没有任何反应,我保持在同一页面。我知道我有验证消息,但用户应该可以在以后完成它们。
在进行客户端验证时,如何使表格按钮正常工作(调用所需的操作)。
谢谢。
这是我的表格,如果有帮助..
<%= form_for @applicant, :validate => true do |f| %>
<div class="field">
<%= f.label :first_name, {:class => 'label'}%>
<%= f.text_field :first_name ,{:class => 'span3'}%>
</div>
<div class="field">
<%= f.label :middle_name, {:class => 'label'}%>
<%= f.text_field :middle_name,{:class => 'span3'}%>
</div>
<div class="actions" style="padding-left: 350px;">
<%= f.submit "Save", :name => "save", :class => 'btn'%>
<%= f.submit "Submit", :name => "submit", :class => 'btn' %>
</div>
所以当我点击保存按钮时,我想转到创建操作,即使我有验证错误..
感谢。
答案 0 :(得分:1)
在client_side_validations 4.0发布之前,我认为没有一种直接的方法可以做到这一点。请参阅Github上的this discussion。
目前,我通常使用CSV callbacks解决此问题,特别是clientSideValidations.callbacks.form.before(form, eventData)
。这是在提交表单之前调用的,如果您禁用或删除任何需要验证的输入,您应该能够毫无问题地提交表单。
这是一个不太理想的解决方案,一旦我们可以使用client_side_validations 4.0在表单级别切换验证,它会更好。