Если подойдет такой вариант - валидация на js. Если важно проверять на сервере - отправлять аяксом данные, если ок делаем загрузку формы.
Так же можно использовать File API, для валидации файла на стороне клиента и/или аяксом отправить форму с файлами и уже проверить на стороне сервера -
FormDataпримеры чтения файлов на стороне клиента