- ItemService: 콤마 구분 멀티 item_type 지원 (예: type=FG,PT) - parseItemTypes(): 콤마 구분 문자열을 배열로 파싱 - validateItemTypesInSameGroup(): 같은 group_id 검증 - index(), search() 메서드에 멀티 타입 로직 적용 - ItemsController: type/item_type 파라미터 일관성 - show(), showByCode(), destroy() 메서드에서 type 파라미터 지원 - 모든 엔드포인트에서 type 또는 item_type 둘 다 허용 - ItemBatchDeleteRequest: prepareForValidation()으로 type→item_type 매핑 - i18n: item_types_must_be_same_group 에러 메시지 추가 (ko/en) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Item;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
|
|
class ItemBatchDeleteRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
protected function prepareForValidation(): void
|
|
{
|
|
// type 파라미터를 item_type으로 매핑 (일관성)
|
|
if ($this->has('type') && ! $this->has('item_type')) {
|
|
$this->merge(['item_type' => $this->input('type')]);
|
|
}
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
return [
|
|
'item_type' => 'required|string|in:FG,PT,SM,RM,CS',
|
|
'ids' => 'required|array|min:1',
|
|
'ids.*' => 'required|integer|min:1',
|
|
];
|
|
}
|
|
|
|
public function messages(): array
|
|
{
|
|
return [
|
|
'item_type.required' => '품목 유형은 필수입니다.',
|
|
'item_type.in' => '품목 유형은 FG, PT, SM, RM, CS 중 하나여야 합니다.',
|
|
'ids.required' => '삭제할 품목 ID 목록은 필수입니다.',
|
|
'ids.array' => '품목 ID 목록은 배열이어야 합니다.',
|
|
'ids.min' => '삭제할 품목을 하나 이상 선택하세요.',
|
|
'ids.*.required' => '품목 ID는 필수입니다.',
|
|
'ids.*.integer' => '품목 ID는 정수여야 합니다.',
|
|
'ids.*.min' => '품목 ID는 1 이상이어야 합니다.',
|
|
];
|
|
}
|
|
}
|