2011-05-12 53 views
2

我在軌道上使用紅寶石3.與UJS和jquery 我想生成一個AJAX表單。 正如我們所知,表單仍然是一個正常的形式,即使它是AJAX只有remote-data => true被添加。與阿賈克斯和鐵軌生活驗證3

該表格在運行中檢查remote-data => true,然後執行和ajax請求。

現在如何在點擊提交按鈕後進行實時驗證。

我想要的是 - 當點擊提交按鈕時,所有的閥值應該在客戶端執行,然後如果一切都很完美,我希望表單被提交。如果有任何侵權行爲,則不應提交表格。

一個想法?

+1

看看這個:http://railscasts.com/episodes/263-client-side-validations 甚至比你建議imho更好。 – iceydee 2011-05-12 07:33:59

+0

謝謝,我知道那種方式。但我只想在點擊提交時進行驗證。 – 2011-05-12 09:06:50

+1

我會深入挖掘該寶石的JavaScript代碼,並用我自己的客戶端代碼覆蓋它們。它的驗證部分非常好,應該很容易修改,以考慮JavaScript的動態特性。 – iceydee 2011-05-12 09:30:03

回答

2

我試着這樣做 所以每一個形式,其爲遠程形式檢查,如果該字段有效。 如果這些字段是有效的,那麼從ajax返回true:在發送else之前返回false。

$('.remote_form').live('ajax:beforeSend', function(event, elements){ 

if(validate_fields(this)) 
{ 
     return true; 
} 
else 
    return false; 
     }); 

注意:Validate_fields是用戶定義的函數來檢查驗證。

1

退房這兩個職位:

的驗證插件是開箱即用「的onsubmit」響應。

隨着教程也應該來實現ajax驗證。 http://docs.jquery.com/Plugins/Validation http://sleekd.com/tutorials/jquery-validation-in-ruby-on-rails/