2011-05-12 54 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/