2

我在我的多模式表单中使用client_side_validation gem。它工作正常,但我有一个问题。该表单有一个保存按钮,该按钮应该使用户能够保存表单以备后用。当点击这个按钮时,没有任何反应,我留在同一页面。我知道我有验证信息,但用户应该能够稍后完成。Client_Side_Validation Rails中的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> 

所以我想去创建行动时,我点击保存按钮,即使我有验证错误..

谢谢。

回答

1

直到client_side_validations 4.0发布,我认为没有一个简单的方法来做到这一点。请参阅Github上的this discussion

目前,我通常通过使用CSV callbacks,特别是clientSideValidations.callbacks.form.before(form, eventData)来解决此问题。这是在表单提交之前调用的,如果你禁用或删除了任何需要验证的输入,你应该能够毫无问题地提交表单。

这是一个不太理想的解决方案,一旦我们使用client_side_validations 4.0在表单级别上切换验证,它将会更好。

+0

你能否澄清一下你的意思:在表单提交之前调用 – Daisy 2012-04-19 16:41:53

+0

当然。基本上CSV将绑定到'''form.submit'''事件,并且''''''form.before'''回调中提供的代码将在_before_表单允许提交的时候运行。 – 2012-04-21 19:57:49