MVC3“Unobtrusive JavaScript”模型验证

时间:2012-02-21 23:32:13

标签: javascript jquery asp.net-mvc unobtrusive-validation progressive-enhancement

我曾经这样做过我的ajax调用:

        form.bind("submit", function(e) {
            e.preventDefault();
            form.ajaxSpin("large");
            form.ajaxSubmit({
                success: function(result) {
                    if (!b.ajaxFailure(result, true)) {
                        if(b.validateForm(form,result)) {
                            console.log(result); // TODO: something?
                        }
                    }
                },
                complete: function() {
                    form.ajaxSpin(false);
                }
            });
        });
到目前为止,我的设计正在逐步增强 现在我想在发出实际请求之前在客户端实现模型验证。

我在项目中加入了jquery.validation.js插件以及最新的jquery.validation.unobtrusive.js脚本。

然后我将代码更改为:

        form.validate({
            submitHandler: function() {
                form.ajaxSpin("large");
                form.ajaxSubmit({
                    success: function(result) {
                        if (!b.ajaxFailure(result, true)) {
                            if (b.validateForm(form, result)) {
                                console.log(result); // TODO: something?
                            }
                        }
                    },
                    complete: function() {
                        form.ajaxSpin(false);
                    }
                });
            }
        });

,我认为,除非首先通过验证,否则它将不会发出请求。

验证方面完全按预期工作,使用模型中的数据属性mvc设置到我视图的DOM中。

这个失败的部分,我无法弄清楚为什么,是我回到不是ajax。页面只是重新加载,我的submitHandler永远不会触发(与this link建议的内容相反)

我为submitHandleronSuccesssuccess等尝试了一些其他常用名称,但它们似乎都没有效果。

0 个答案:

没有答案