在Asp.net MVC中jquery验证错误 - 无法获取属性'call'的值:对象为null或未定义

3

我试图在客户端进行一些验证检查,但我的ASP.NET MVC应用程序甚至在打开索引页面之前就失败了。我收到了Microsoft Jscript运行时错误:无法获取属性'call'的值:对象为null或未定义。

以下是我的脚本。我正在使用局部视图来显示UI对话框以编辑雇员。我已确保jqueryval捆绑包添加到_Layout.cshtml中,并将clientsidevalidation设置为true。任何帮助都将不胜感激-谢谢

var $form = $("#updateEmployeeForm");
$form.unbind();
$form.data("validator", null);
// Check document for changes
$.validator.unobtrusive.parse(document);
// Re add validation with changes
$form.validate($form.data("unobtrusiveValidation").options);
dialogDiv.dialog('open');

局部视图

@using (Ajax.BeginForm("EditEmployee", "Employee", new AjaxOptions
{
  InsertionMode = InsertionMode.Replace, 
  HttpMethod = "POST",
  OnSuccess = "updateSuccess"
}, new { @id = "updateEmployeeForm" }))

{

  @Html.ValidationSummary(true) .....}

我的viewModel

[Required]
public string FirstName { get; set; }
public string MiddleName { get; set;}
[Required]

1
我相信在使用jQuery大于1.9版本与ASP.NET MVC时,我曾经见过这个问题。尝试安装jQuery 1.8.2版本,看看是否能解决它。我认为新版本的jQuery与无侵入式Ajax或验证器存在问题。 - Slicksim
1个回答

2

感谢Slicksim的帮助。

“我认为在使用jquery > 1.9与asp.net mvc时遇到了这个问题。尝试安装jquery 1.8.2并查看是否解决了问题。我认为新版本的jquery与非侵入式ajax或验证器存在问题-Slicksim 4月2日10:30”

这就是解决方法。回到以前的Jquery版本。


我之前使用jQuery 1.8.3没有任何问题。为了满足其他插件的需求(以及因为1.8.3已经五年了),我升级到了1.9版本,但是它给了我这个错误。所以我相信你的答案是正确的方向。不过,后续的jQuery版本肯定有解决方法... - AlbatrossCafe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接