<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class StoreAlbumRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { switch ($this->method()) { case 'POST': return [ 'description' => '', 'name' => 'required|album_path_unique|max:255', 'storage_id' => 'required|sometimes' ]; case 'PATCH': case 'PUT': $albumId = intval($this->segment(3)); return [ 'description' => 'sometimes', 'name' => 'required|sometimes|max:255|album_path_unique:' . $albumId, 'storage_id' => 'required|sometimes' ]; } } }