8

我有 MVC3 应用程序,不显眼的验证在 FireFox 中运行良好,但在 IE 中无法运行。

任何想法为什么?

更新

似乎 MVC3 附带的 jQuery 不显眼的验证库与我正在使用的 jQuery 1.7.1 不完全兼容(引导模板附带)。适用于 Firefox,不适用于 IE 8(我拥有的那个)。

我开始将 jQuery 升级到它开始工作的版本(不确定其他东西是否不会破坏!)。

当我到达 1.8.1 时,它终于奏效了。

当我升级到 1.9.1 时,我继续升级 jQuery - 该死的东西再次停止工作:)

使用 MVC3 jQuery 不显眼验证对我有用的最新 jQuery 版本是 1.8.3。

看起来这也是与 MVC3 jQuery unobtrusive ajax 库一起使用的最新 jQuery 版本。

PS 使用 MVC3 不显眼的验证或 ajax 的人,不要使用高于 v 1.8.3 的 jQuery。

4

3 回答 3

7

我最近遇到了类似的问题,仅使用 IE7 和 IE8(使用 MVC4)。

为了让验证再次工作,我安装了以下版本:

jQuery:1.8.3

jQuery 验证:1.9.0.1

Microsoft Unobtrusive Validation:2.0.30116.0(最新于 2013 年 5 月 14 日)

我注意到迁移到jQuery Validation v1.10 是问题开始的地方。在撰写本文时,JQuery Validation是 v1.11.1,在 IE7/8 中不起作用。这也在jQuery 1.8.3 和 1.9.1 上进行了尝试,但都不适用于最新版本的jQuery Validation

注意:对我来说,特别的问题是验证是触发和标记所有输入和复选框的错误,即使它们不是“需要数据”。

于 2013-05-14T19:14:38.400 回答
2

在撰写本文时(2014 年 9 月),我测试了以下组合,并且对我来说(使用IE8和惊喜,即使使用IE7!)这是有效的:

  • jQuery 1.11.1(最新的 1.x 版本)
  • jQuery.Validation 1.10.0
  • Microsoft.jQuery.Unobtrusive.Ajax 3.2.2(最后一个可用版本)
  • Microsoft.jQuery.Unobtrusive.Validation 3.2.2(最后一个可用版本)

请注意,使用 IE 11(边缘)有时我会得到(如果我用 F12 打开调试器)以下错误

SCRIPT5007:无法获取未定义或空引用的属性“调用”文件:jquery.validate.js,行:1234,列:5

但是,如果我关闭调试器并以普通用户的身份使用表单,如果工作正常

还使用IE10IE9(IE11 模拟这些)进行了测试。到目前为止没有发现任何问题

如果由于出现依赖错误(jquery 1.4 左右)而无法更新(降级)nuget 包,请记住使用 -IgnoreDependencies 标志,例如:

Update-Package jQuery.Validation -Version 1.10.0 -IgnoreDependencies

享受(好吧,支持 IE8 并不是真正享受,但如果您在这里,则意味着您正在与无法摆脱这个糟糕浏览器的客户合作......)。干杯;)

于 2014-09-24T16:38:39.030 回答
2

我遇到了与所描述的问题非常相似的问题。使用 IE9(文档模式:IE9 标准)我收到脚本错误,因为它在任何其他浏览器(以及较低的 IE 文档标准)中都可以正常工作。

我通过使用jquery.validate.js (1.11.0)缓解了这个问题

有了这个我可以使用jQuery-1.9.1.jsMVC3.0 jquery.validate.unobtrusive

于 2013-02-28T11:38:11.873 回答