Zurb基金会揭示了Rails 3.2中带有client_side_validationgem的模态



有人能告诉我他们是否能够让client_side_validation gem在泄漏模式(Zurb Foundation)中工作吗。

我有一个表单可以很好地与client_side_validation配合使用,但一旦我将其置于显示模式中,验证就不再起作用。

(https://github.com/bcardarella/client_side_validations在http://foundation.zurb.com/docs/reveal.php)

感谢

已编辑-这个页面可能会在未来为其他人提供一些见解(自从我发布第一个答案以来,我还没有重新访问过这个页面,所以我没有测试过它)-客户端验证默认情况下只验证可见字段,所以正如它在这个页面上所说,https://github.com/bcardarella/client_side_validations/wiki/Validation-in-Multi-Step-Form,您可能需要告诉它使用$(form_id).enableClientSideValidations();验证您的表格

不过我没有这么做,而是通过ajax加载了整个内容。以下是一些信息,可以帮助其他处于这种情况的人开始行动。

Zurb的Foundation框架的标准模式窗口只是页面上的一个div和一个触发js在display:none/block之间切换的链接。我不知道为什么这会阻止client_side_validationsgem在显示模式中的其他js正常工作时工作。我借鉴了show-modal及其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(); 

因此,通过在表单的modaldiv上调用.reval(),然后调用.validate(),我可以通过ajax加载我的modal,并可以用通常的方式将其忽略。我不是在初始页面加载时加载表单,然后用js显示它,而是用js加载所有表单,让我按照通常的步骤运行验证。这就是我的新.js.erb,你应该能够管理它(即,你需要你的link_to,一个加载到其中的div——在这种情况下是#explaydiv——以及你适当的控制器操作)。

快乐围板;-)

最新更新