(zaktualizowane, ze względu na nieporozumienia pytanie)
To jest możliwe, aby sprawdzić, czy plik został przymocowany za pomocą atrybutu required
.
Patrz: http://jsfiddle.net/1ua59jt1/1/
HTML:
<input id="file" type="file" name="fileselect" required="required" />
CSS:
#file:valid { color: green; }
#file:invalid { color: red; }
Ale nigdy nie można naprawdę zweryfikować, czy "poprawny" plik został wybrany w ten sposób. Możesz tylko sprawdzić, czy plik nie został w ogóle wybrany.
// zmiana oddania:
Atrybut required
jest HTML5. Należy pamiętać, że nie wszystkie przeglądarki obsługują to: http://www.w3schools.com/tags/att_input_required.asp
Oznacza to, że jedynym sposobem na zaufanego klienta walidacji bocznej używa JavaScript. Jeśli chcesz to zrobić, zalecamy użycie atrybutu novalidate
w formularzu, aby wyłączyć domyślną weryfikację przeglądarki (http://www.w3schools.com/tags/att_form_novalidate.asp).
Ale zawsze używaj również sprawdzania poprawności po stronie serwera. Nigdy nie możesz upewnić się, że użytkownik włączył jaavscript lub nie manipulował javascriptem. Najlepszym sposobem jest zawsze sprawdzanie wartości po stronie, nad którą masz pełną kontrolę: serwer, czyli twoje działanie, do którego formularz wysyła swoje dane.
Nie. Podczas wprowadzania danych ustawia wartość elementu. Obecnie nie ma możliwości sprawdzenia, czy element wejściowy ma wartość, czy nie w CSS. Zobacz http://stackoverflow.com/questions/16952526/detect-if-an-input-has-text-in-it-using-css Jeśli wymagane jest wprowadzenie pliku, sprawdź te odpowiedzi, zobaczysz rozwiązanie dotyczące ustawienie wymaganego atrybutu. – yts
Dziękuję. Spodziewałem się tej odpowiedzi, ale nie byłem pewien. – KZee