回答

2

編輯 - 本頁面可以給一些見解他人在今後的(因爲我我沒有這個重新張貼了我的第一個答案,所以我沒有測試過) - 客戶端驗證,在默認情況下只驗證可見字段,以便它說這個頁面,https://github.com/bcardarella/client_side_validations/wiki/Validation-in-Multi-Step-Form上,您可能需要告訴它與$(form_id).enableClientSideValidations();

我驗證表單雖然沒有這樣做,但我通過aja加載了所有東西X。這裏有一些信息可以幫助其他人在這種情況下繼續前進。

Zurb的基金會框架的標準模式窗口只是你的頁面上的div和一個觸發js在display:none/block之間切換的鏈接。我不知道爲什麼這會阻止client_side_validations gem工作,因爲其他js在揭示模式中工作正常。我回顧了揭示模式及其js的樣式,我只是通過ajax加載整個內容。

以防萬一這將有助於未來的人這裏是我的基本設置現在看起來像。我有多個鏈接到我的ajax和一個單獨的div將成爲模態。我做一個快速檢查我的js.erb和換出任何以前渲染的內容(多鏈接..)

#Populate div with a reveal modal containing a partial (a form, remember to put in the j in "j render") and if said modal already has content, ditch it. 

if(!$('#reveal-div').html().length) { 
$('#reveal-div').append('<%= j render :partial => 'form', :locals => { :some_locals => @whatever_values } %><a class="close-reveal-modal">&#215;</a> '); 
$('#reveal-div').addClass('reveal-modal').appendTo('body'); 
$('#reveal-div').reveal(); 
} 
else{ 
$('#cbrform').remove(); 
$('#reveal-div').append('<%= j render :partial => 'form', :locals => { :some_locals => @whatever_values } %><a class="close-reveal-modal">&#215;</a>'); 
$('#reveal-div').reveal()}; 

#Make sure you get your validations working on remote loaded forms with this line 
$('form[data-validate]').validate(); 

那麼通過調用.reveal()對我的窗體的模態格,然後調用.validate( )我通過ajax加載了我的模式,我可以用通常的方式解除它。而不是我的表單加載到初始頁面加載,然後用js顯示它,我用js加載它,這讓我按照通常的步驟來運行我的驗證。那是我的new.js.erb,你應該能夠繼續管理(即,你需要你的link_to,一個div來加載它 - 在這種情況下,這是#reveal-div)以及你的適當的控制器動作)。

快樂烙印;-)