【发布时间】:2011-06-25 12:15:40
【问题描述】:
我使用 MVC 3 和不显眼的 javascript 进行客户端验证。
我有一个表格,其中包含可点击的行。单击时,我想调出动态加载的局部视图。这是这个的代码:
function GetStuff(id) {
$.ajax(
{
url: "Edit/" + id,
success: function (result) {
$("#DivTest").html(result);
}
});
}
到目前为止一切正常。 问题是当我尝试使用 jquery 在部分中保存某些内容时。表单被劫持,如下所示:
$(function () {
$.post($(this).attr("action"),
$(this).serialize(),
function (data) {
alert("test");
});
e.preventDefault();
});
所有这些都使客户端验证不起作用。即使我遗漏了一些必需的值,它也会发布。如果我不使用 ajax 发布或者在页面加载时加载部分内容(非动态),这一切都有效。
我尝试过的:
我试着把这个放在帖子之前:
if($('form').validate().form()){
...
}
这只是每次都返回 true..
从这篇文章中我得到了 2 条建议 ASP.NET MVC 2 loading partial view using jQuery - no client side validation
添加
Sys.Mvc.FormContext._Application_Load();
部分加载后.. 并将帖子的数据类型设置为“html”。都没有用。
我也尝试过这种方法,但没有成功: http://www.deepcode.co.uk/2010/08/mvc-ootb-validation-when-pulling-in.html
我猜这种技术组合很常见,为什么很难让它发挥作用?非常感谢任何帮助。 谢谢
【问题讨论】:
标签: jquery asp.net-mvc validation dynamic partial-views