diff --git a/app/Filament/Resources/StickerMappingMasterResource.php b/app/Filament/Resources/StickerMappingMasterResource.php index 162719d9..9b2a91fe 100644 --- a/app/Filament/Resources/StickerMappingMasterResource.php +++ b/app/Filament/Resources/StickerMappingMasterResource.php @@ -89,7 +89,26 @@ class StickerMappingMasterResource extends Resource }) ->searchable() - ->required(), + ->required() + ->rules([ + function (callable $get, $record) { + return function (string $attribute, $value, $fail) use ($get, $record) { + $plantId = $get('plant_id'); + + $query = StickerMappingMaster::where('plant_id', $plantId) + ->where('item_id', $value); + + // Ignore the current record when editing + if ($record) { + $query->where('id', '!=', $record->id); + } + + if ($query->exists()) { + $fail('Item Code already exist to the selected plant.'); + } + }; + }, + ]), ]) ->columns(2),