Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Как заставить работать валидацию image в FormRequest? » 31.03.2018 06:45:30

Костыли конечно можно наваять, но хочется все по фен-шую, что бы потом в случае необходимости долго не чесать голову.
По теме нашел подобный вопрос, но не особо понял решение...
https://laracasts.com/discuss/channels/ … -51-and-52

#2 Laravel 5.x » Как заставить работать валидацию image в FormRequest? » 30.03.2018 14:41:07

Volodec
Ответов: 4

Laravel 5.6.12
PHP 7.1.11
Хостинг не поддерживает REST-запросы(PUT,DELETE), только get и post
В общем, не получается провести проверку файла на изображение
есть ModelRequest

class ModelRequest extends FormRequest {

	protected $rules = [
		'image_primary' => 'required|image',
		'image_secondary' => 'nullable|image',
                 ...
	];
	protected $messages = [
		'image_primary.required' => 'Не выбрано основное изображение',
		'image_primary.image' => 'Файл основного изображения не является изображением',
		'image_secondary.image' => 'Файл дополнительного изображения не является изображением',
                ...
	];

	public function authorize() {
		...
	}


	public function rules() {
		return $this->rules;
	}

	public function messages() {
		return $this->messages;
	}
}

Этот файл работает как часы

Есть ModelUpdateRequest который наследует ModelRequest:

class ModelUpdateRequest extends ModelRequest {

	public function rules() {
		$this->rules['image_primary'] = 'nullable|image';

		return $this->rules;
	}

	public function messages() {
		return $this->messages;
	}
}

По сути он только переопределяет значение image_primary в массиве rules. И не хочет проводить валидацию, всегда выдает ошибку валидации, якобы загружаемый jpg не является изображением. Пробовал сменить правило с image на mimetypes:image/*, результат тот же. Что самое интересное, это не единственный наследующий FormRequest с валидацией на изображение, но единственный неработающий...

Подвал раздела