Używam formularza do przesłania pliku. Chcę, aby przesyłano tylko pliki PDF. To jest mój kod:Sprawdzanie poprawności przesyłania plików - Jquery i atrybut "Accept"
okno wejściowe, aby umożliwić użytkownikowi wybrać plik:
@Html.FileBox(m => m.FileName, new { id = "FileName", accept = "application/pdf" })
i miejsce, aby wyświetlić komunikat o błędzie (s):
@Html.ValidationMessageFor(m=>m.FileName)
kod generowany dla pole wejściowe jest:
<input id="FileName" type="file" name="FileName" data-val-required="The File Name field is required." data-val-length-max="512" data-val-length="The field File Name must be a string with a maximum length of 512." data-val="true" accept="application/pdf">
teraz nawet jeśli mam wybrać plik PDF, pojawia się błąd Please enter a value with a valid extension.
Używam MVC 3 i jokery unobstrusive do sprawdzania poprawności formularza.
Czy wymyśliłeś ten jeden? Mam ten sam problem. W moim przypadku muszę zaakceptować wiele typów ("image/gif, image/png, image/jpeg"). –
Nie, nie mam. Musiałem usunąć atrybut "accept". Może być Jquery Validation nie obsługuje sprawdzania poprawności typu MIME dla "accept". – escist
@ThiagoSilva W przypadku typów zdjęć nie powinno to stanowić problemu. Czy wypróbowałeś coś w stylu 'accept =" image/gif, image/jpeg "'? – escist