Сейчас вот такой жирный метод
public function store(Request $request)
{
$rules = [
'description' => 'min:4',
'image' => 'required|image|mimes:jpg,jpeg,png',
'choose-category' => 'array|required'
];
$messages = [
'description.min' => 'Название должно содержать минимум :min символа.',
'image.required' => 'Изображение загружать обязательно.',
'image.image' => 'Вы загрузили не изображение.',
'image.mimes' => 'Допустимые форматы: jpg, jpeg, png.',
'choose-category.required' => 'Выберите категорию'
];
Validator::make(
$request->all(),
$rules ,
$messages
)->validate();
$image = $request->file('image');
$description = $request->input('description');
$this->imageClass->add($image, $description);
$this->imageClass->save();
$idNewImage = $this->imageClass->id;
$categories = $request->input('choose-category');
$relation = \App\Services\Image::find($idNewImage);
$relation->categories()->attach($categories);
return redirect('/');
}
Валидацию вынести в модель и протестировать только прошла ли она успешно или нет?
Например, в контроллере будет
$validation = this->imageClass->validation($request->all());
А как быть с остальным кодом, его так и оставить?