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