Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC3“;不引人注目的JavaScript“;模型验证_Javascript_Jquery_Asp.net Mvc_Unobtrusive Validation_Progressive Enhancement - Fatal编程技术网

MVC3“;不引人注目的JavaScript“;模型验证

MVC3“;不引人注目的JavaScript“;模型验证,javascript,jquery,asp.net-mvc,unobtrusive-validation,progressive-enhancement,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

我过去常常这样调用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);
                    }
                });
            }
        });
我想,这完全是一样的,只是除非先通过验证,否则它不会发出请求

验证方面可以完美地工作,完全如预期的那样,使用从模型到我的视图的DOM中的数据属性mvc集

这失败的部分,我不明白为什么,是我回到了不是ajax的状态。页面刚刚重新加载,my
submitHandler
从不触发(与建议相反)


我尝试了一些其他常用的
submitHandler
onSuccess
success
,等等),但它们似乎都不起作用。

这里有一些好信息:耶!非常感谢,这就是我想要的。没问题,祝你的应用好运!