Files
sam-api/app/Http/Requests/Item/ItemBatchDeleteRequest.php

45 lines
1.4 KiB
PHP
Raw Normal View History

<?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 이상이어야 합니다.',
];
}
}