method()) { case 'POST': $result = [ 'name' => 'required|unique:storages|max:255', 'source' => 'required|max:255', ]; if ($this->get('source') == 'LocalFilesystemSource') { $result['location'] = 'sometimes|required|is_dir|dir_empty|is_writeable'; } return $result; case 'PATCH': case 'PUT': $storageId = intval($this->segment(3)); return [ 'name' => 'required|max:255|unique:storages,name,' . $storageId ]; } } }