手动访问client_side_validations验证功能

Boz*_*sov 2 ruby validation jquery ruby-on-rails

我正在使用Rails 3应用程序,我正在使用client_side_validations(从ActiveRecord模型验证自动生成的javascript验证)在JQuery UI对话框中显示的表单中,我想知道是否有一些来自client_side_validations的javascript函数我可以在用户按下对话框提交(确定)按钮以确认表单中的所有验证通过javascript提交表单之前调用.在client_side_validations中有这样的东西吗?我在wiki中注意到一个名为Client Side Validations回调的部分看起来非常有趣,但我没有在gem中看到相应的javascript文件.也许正在进行中的工作或被弃用的东西?

基本上我有这个javascript片段,它创建包含表单的对话框

$(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;
    });
});
Run Code Online (Sandbox Code Playgroud)

我需要在表单提交位之前进行一些验证检查,否则即使包含无效数据,对话框也会关闭.我可以用jquery的验证插件编写一个表单,但我不想像这样复制模型层的验证 - 我宁愿让它们一直保持同步.

提前感谢您可能决定渲染的任何帮助!

aBa*_*boy 5

上面的答案没有用.我试过调查他们的代码,最后找到了答案.

form_validators = ClientSideValidations.forms[form.attr('id')].validators
form.isValid(form_validators)
Run Code Online (Sandbox Code Playgroud)

这肯定会奏效.

这太晚了.但对于像我这样的人.这会有所帮助.