Files
sam-api/app/Http/Requests/ItemMaster/ItemPageStoreRequest.php
김보곤 a071997b42 feat: [ItemMaster] ItemPage 생성 시 동일 item_type 중복 방지 로직 추가
- ItemPageService::store()에서 동일 tenant_id + item_type + is_active 조합 중복 검증
- ItemPageStoreRequest에 Rule::unique 검증 추가 (tenant_id 범위 한정)
- 에러 메시지 키 추가: error.item_page_duplicate_item_type (ko/en)
2026-03-21 21:21:39 +09:00

41 lines
991 B
PHP

<?php
namespace App\Http\Requests\ItemMaster;
use App\Models\ItemMaster\ItemPage;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class ItemPageStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
$tenantId = app('tenant_id');
return [
'page_name' => 'required|string|max:255',
'item_type' => [
'required',
'in:FG,PT,SM,RM,CS',
Rule::unique((new ItemPage)->getTable(), 'item_type')
->where('tenant_id', $tenantId)
->where('is_active', true)
->whereNull('deleted_at'),
],
'absolute_path' => 'nullable|string|max:500',
];
}
public function messages(): array
{
return [
'item_type.unique' => __('error.item_page_duplicate_item_type'),
];
}
}