MVC3“;不引人注目的JavaScript“;模型验证
我过去常常这样调用ajax: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
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的状态。页面刚刚重新加载,mysubmitHandler
从不触发(与建议相反)
我尝试了一些其他常用的
submitHandler
(onSuccess
,success
,等等),但它们似乎都不起作用。这里有一些好信息:耶!非常感谢,这就是我想要的。没问题,祝你的应用好运!