Asp.net MVC 中的 jquery 验证错误 - 无法获取属性“调用”的值:对象为空或未定义

Posted

技术标签:

【中文标题】Asp.net MVC 中的 jquery 验证错误 - 无法获取属性“调用”的值:对象为空或未定义【英文标题】:jquery validation error in Asp.net MVC - unable to get value of property 'call' : object is null or undefined 【发布时间】:2013-03-22 21:11:50 【问题描述】:

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

以下是我的脚本。我正在使用部分视图来显示 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) .....

我的视图模型

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

【问题讨论】:

我相信我在使用 jquery > 1.9 和 asp.net mvc 时已经看到了这一点。尝试安装 jquery 1.8.2 看看是否可以解决。我认为新版本的 jquery 的不显眼的 ajax 或验证器存在问题 【参考方案1】:

感谢 Slicksim

“我相信我在将 jquery > 1.9 与 asp.net mvc 一起使用时已经看到了这一点。尝试安装 jquery 1.8.2 看看是否能解决它。我认为新版本的不显眼的 ajax 或验证器存在问题jquery – Slicksim 4 月 2 日 10:30"

这就是解决方案。转到上一个 Jquery。

【讨论】:

我的 jQuery 1.8.3 没有问题。我升级到 1.9 来安抚其他一些插件(因为 1.8.3 已经 5 岁了),它给了我这个错误。所以我相信你的答案是正确的。不过,以后的 jQuery 版本必须有一个解决方法......

以上是关于Asp.net MVC 中的 jquery 验证错误 - 无法获取属性“调用”的值:对象为空或未定义的主要内容,如果未能解决你的问题,请参考以下文章

在边缘浏览器中的 asp.net mvc 验证错误中使用 jQuery datepicker

Asp.net MVC 中的 jquery 验证错误 - 无法获取属性“调用”的值:对象为空或未定义

ASP.NET MVC 4 验证后自定义 jQuery 脚本无法正常工作

asp.net mvc jquery 下拉验证

如何使用 jquery unobtrusive 和 Asp.Net Mvc 验证动态生成的单选按钮组?

JQuery 验证忽略本地化文件 (ASP.NET MVC)