我正在使用Rails 3应用程序,并使用client_side_validations(自动从ActiveRecord模型验证生成的JavaScript验证)显示在JQuery UI对话框中的表单中,我想知道是否有一些来自client_side_validations的javascript函数,我可以在用户按下对话框提交(OK)按钮之后调用,以验证表单中的所有验证是否在通过javascript提交表单之前通过。在client_side_validations中是否有这样的事情?我在wiki中注意到一个名为Client Side Validations callbacks的部分,看起来非常有趣,但是我没有在gem中看到相应的javascript文件。也许正在进行中的作品或某些不推荐的作品?手动访问client_side_validations验证功能
基本上我有一个创建一个包含表单
$(function() {
$("#subscription_dialog").dialog({
autoOpen: false,
show: "blind",
hide: "blind",
width: 'auto',
height: 'auto',
modal: true,
title: "Become an Empower United member",
buttons: {
"OK": function() {
if ($('form[data-validate]').validate()) {
$('#new_subscription').submit();
$(this).dialog("close");
}
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$("#subscribe").click(function() {
$("#subscription_dialog").dialog("open");
return false;
});
});
我需要的表格前,一些验证检查提交位的对话框这个JavaScript片段,否则会对话即使在它的无效数据被关闭。我可以用jQuery的验证插件编写一个表单,但我不想像这样从模型层复制验证 - 我宁愿让它们始终保持同步。
预先感谢您可能决定渲染的任何帮助!
这是真正有用的,谢谢! – hoitomt
我想澄清一件事。看起来,将两种方法结合可以产生最佳结果。当我尝试使用第二种方法来查看是否需要将信息发送到服务器时,它总是返回误报。正如您在Jimbo之前所说的那样,我认为这是因为客户端验证会跟踪已更改的元素。因此触发事件来强制验证似乎也会在正确使用isValid后给出正确的结果。 –