Laravel MIME validation — запрещенное расширение проходит, когда файл не пуст

Я использую Laravel 5.2. Для одной из моих форм у меня есть эти правила проверки для файла:

$rules = array('file' => 'required|mimes:pdf,jpg,png,docx');

Так что простой белый список расширений. Затем я проверяю поле следующим образом:

$validator = Validator::make(Input::all(), $rules);

if ($validator->fails()) {
    // redirect with errors
}

Теперь я пытаюсь проверить это, поэтому я загружаю файл из белого списка-пустой файл JS (test.js) — и проверка не выполняется, что нормально. Но как только я помещаю некоторое содержимое в тот же файл JS , загрузка проходит, даже если тип файла MIME тот же («application/javascript»).

Попробовал с файлом SQL (test.sql) — то же самое. Проверка работает правильно только для пустого файла.

В чем может быть проблема?

1 ответ