MVC3 unauffällige Validierung funktioniert nicht in IE

8

Ich habe MVC3 App, unaufdringliche Validierung funktioniert gut in FireFox, aber nicht im IE arbeiten.

Irgendwelche Ideen warum?

AKTUALISIEREN

Es scheint, dass jQuerys unauffällige Validierungsbibliothek, die mit MVC3 geliefert wird, nicht vollständig kompatibel mit jQuery 1.7.1 ist, das ich benutze (das mit der Bootstrap-Vorlage geliefert wurde). Funktioniert in Firefox, funktioniert nicht mit IE 8 (den ich habe).

Ich habe angefangen, jQuery auf die Version zu aktualisieren, in der es zu arbeiten beginnt (nicht sicher, wenn andere Dinge nicht kaputt gehen!).

Als ich zu 1.8.1 kam, hat es endlich funktioniert.

Ich fuhr fort, jQuery zu aktualisieren, als ich zu 1.9.1 kam - das verdammte Ding hörte auf, wieder zu arbeiten:)

Die neueste jQuery-Version, die für mich mit MVC3 jQuery unaufdringliche Validierung funktionierte, ist 1.8.3.

Sieht aus wie dies ist auch die neueste jQuery-Version, was mit MVC3 jQuery unaufdringlichen Ajax-Bibliothek arbeitet.

P.S. Leute, die MVC3 unauffällige Validierung oder Ajax verwenden, verwenden jQuery nicht höher als v 1.8.3.

    
monstro 11.02.2013, 18:21
quelle

3 Antworten

7

Ich hatte kürzlich ähnliche Probleme, nur IE7 und IE8 (mit MVC4).

Damit die Validierung wieder funktioniert, habe ich folgende Versionen installiert:

jQuery: 1.8.3

jQuery Validierung: 1.9.0.1

Microsoft Unobtrusive Validation: 2.0.30116.0 (Stand: 14. Mai 2013)

Ich bemerkte, dass der Übergang zu jQuery Validation v1.10 die Ursache für die Probleme war. Zur Zeit dieses Beitrags JQuery Validation ist v1.11.1 und funktioniert nicht in IE7 / 8. Dies wurde auch mit jQuery 1.8.3 und 1.9.1 versucht, beide haben nicht mit der neuesten Version von jQuery Validation gearbeitet.

Hinweis: Das besondere Problem für mich bestand darin, dass der Fehler für alle Eingaben und Kontrollkästchen ausgelöst wurde, auch wenn sie nicht "Daten erforderlich" waren.

    
BillD 14.05.2013 19:14
quelle
2

Ich hatte ein sehr ähnliches Problem mit dem, was beschrieben wird. Mit IE9 (Doc Mode: IE9 Standards) erhielt ich Skriptfehler, wo es in jedem anderen Browser funktioniert (und niedrigere IE Doc Standards).

Ich habe das Problem unter Verwendung von jquery.validate.js (1.11 .0)

Damit könnte ich jQuery-1.9.1.js und MVC3.0 jquery.validate.unobtrusive

    
Brett 28.02.2013 11:38
quelle
2

Zum Zeitpunkt des Schreibens ( September 2014 ) habe ich die folgende Kombination und für mich getestet (mit IE8 und überrascht, sogar mit IE7 !) das funktioniert:

  • jQuery 1.11.1 (neueste 1.x-Version)
  • jQuery.Validation 1.10.0
  • Microsoft.jQuery.Unobtrusive.Ajax 3.2.2 (letzte verfügbare Version)
  • Microsoft.jQuery.Unobtrusive.Validation 3.2.2 (zuletzt verfügbar Version)

Hinweis, mit IE 11 (Kante) Manchmal bekomme ich (wenn ich den Debugger mit F12 öffne) den folgenden Fehler :

  

SCRIPT5007: Die Eigenschaft 'call' von undefined oder null konnte nicht abgerufen werden   Referenzdatei: jquery.validate.js, Zeile: 1234, Spalte: 5

Aber wenn ich den Debugger schließe und das Formular als normalen Benutzer verwende, wenn es funktioniert .

Getestet auch mit IE10 und IE9 (IE11 emuliert diese). Bisher keine Probleme gefunden .

Wenn Sie die nuget-Pakete nicht aktualisieren können (downgrade), weil Sie einen Abhängigkeitsfehler erhalten (jquery 1.4 oder so), denken Sie daran, das Flag -IgnoreDependencies zu verwenden, zum Beispiel:

%Vor%

Enjoy (gut, IE8 zu unterstützen ist nicht wirklich genießend, aber wenn Sie hier sind, bedeutet das, dass Sie mit Kunden arbeiten, die diesen beschissenen Browser nicht loswerden können ...). Prost;)

    
firepol 24.09.2014 16:38
quelle