Ich verwende ein Formular, um eine Datei hochzuladen. Ich möchte nur PDF-Dateien hochladen. Das ist mein Code:
Ein Eingabefeld, in dem der Benutzer eine Datei auswählen kann:
%Vor%und ein Ort, an dem Fehlermeldung (en) angezeigt werden:
%Vor%Der für das Eingabefeld generierte Code lautet:
%Vor% Nun, selbst wenn ich eine PDF-Datei wähle, erhalte ich einen Fehler Please enter a value with a valid extension.
Ich verwende MVC 3 und unaufdringliche jquery, um das Formular zu validieren.
Die "accept" -Regelmethode, die in jQuery Validation integriert ist, verwendet Werte in einem Format, das "jpg | png" ähnelt.
Das HTML-Attribut "accept" hat ein Format, das "image / jpeg, image / png" ähnelt.
Es scheint, dass jQuery Validation und der HTML-Standard in dieser Hinsicht inkompatibel sind.
Hier erfahren Sie mehr über die jQuery Validation-Regel "accept" und die HTML5" accept "Attribut .
Sie haben das Verhalten der Methode "accept" mit der Version 1.10.0 geändert. Anstatt die Dateiendung zu prüfen, wird nun der MIME-Typ betrachtet. Das alte Verhalten ist jetzt als "Extension" -Methode verfügbar. Sie müssen also nur Ihre Version des jquery Validierungs-Plugins aktualisieren und Sie sind fertig. Ich habe meine aktuelle Version 1.9.0 durch 1.11.0 ersetzt und gültige MIME-Typen als accept-attribut gesetzt. Es funktioniert jetzt wie erwartet:
%Vor%Tags und Links asp.net-mvc-3 jquery jquery-validate asp.net-mvc-validation