(aktualisiert, aufgrund der Frage Missverständnis)
Es ist möglich, wenn eine Datei required
mit dem Attribut angebracht wurde zu überprüfen.
See: http://jsfiddle.net/1ua59jt1/1/
HTML:
<input id="file" type="file" name="fileselect" required="required" />
CSS:
#file:valid { color: green; }
#file:invalid { color: red; }
Aber man kann nie wirklich bestätigen, wenn eine "richtige" Datei wurde auf diese Weise ausgewählt. Sie können nur prüfen, ob oder überhaupt eine Datei ausgewählt wurde.
// Abschluss Update:
Das required
Attribut ist HTML5. Bitte beachten Sie, dass nicht alle Browser dies unterstützen:
Das bedeutet, die einzige vertrauenswürdige Möglichkeit für Client-Seite Validierung verwendet JavaScript. Wenn Sie dies tun möchten, empfehle ich, das Attribut novalidate
in Ihrem Formular zu verwenden, um die Standardvalidierung des Browsers zu deaktivieren (http://www.w3schools.com/tags/att_form_novalidate.asp).
Aber immer serverseitige Validierung auch verwenden. Sie können niemals sicherstellen, dass der Benutzer Jaavscript aktiviert oder Javascript nicht manipuliert hat. Der beste Weg besteht also immer darin, Werte auf der Seite zu validieren, über die Sie die volle Kontrolle haben: den Server, d. H. Ihre Aktion, an die das Formular seine Daten sendet.
Nein. Bei Verwendung einer Dateieingabe wird der Wert des Elements festgelegt. Es gibt derzeit keine Möglichkeit festzustellen, ob ein Eingabeelement in CSS einen Wert hat oder nicht. Siehe http://stackoverflow.com/questions/16952526/detect-if-an-input-has-text-in-it-using-css Wenn die Dateieingabe erforderlich ist, überprüfen Sie diese Antworten. Sie werden eine Lösung finden Festlegen des erforderlichen Attributs – yts
Danke. Ich habe diese Antwort erwartet, aber ich war mir nicht sicher. – KZee