Я создаю FormRequest, который проверяет, содержит ли оно изображение в зависимости от имени его поля.Вот как выглядят мои правила:
public function rules(){
return [
'username' => 'required|exists:users',
'key' => 'required|exists:users,activation_key',
'id' => 'sometimes|required|array|min:2',
'id.*' => 'sometimes|required|file|mimes:jpeg,jpg,png|max:5000',
'documents' => 'sometimes|required|array|min:4',
'documents.*' => 'sometimes|required|file|mimes:jpeg,jpg,png,doc,pdf,docx,zip|max:5000',
'g-recaptcha-response' => 'required',
];
}
Другими словами, массив загруженных файлов проверяется, когда они установлены.Я работаю с этим клинком.
Мой запрос выполняется через Jquery.ajax()
и используется new FormData($('selector')[0])
для получения значений поля.У меня правильные параметры ajax, так что это не имеет значения.
Проблема в том, что при выполнении HTTP-запроса с пустой формой проверяется только то, что username
, key
,и g-recaptcha-response
Дальнейшая отладка показывает, что удаление правила sometimes
заставляет его работать.Но мне нужно только условно проверить одно (например, /upload-id
покажет только id[]
поля и /upload-documents
покажет только document[]
поля).