feat: add logging for validation errors in CuttingRequest and CuttingService
This commit is contained in:
parent
6c47be8821
commit
57040f1875
@ -5,6 +5,7 @@
|
||||
use App\Enums\Permission;
|
||||
use App\Http\Requests\Concerns\ValidatesMediaUploads;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class CuttingRequest extends FormRequest
|
||||
@ -60,6 +61,25 @@ public function rules(): array
|
||||
);
|
||||
}
|
||||
|
||||
public function withValidator($validator): void
|
||||
{
|
||||
$validator->after(function ($validator) {
|
||||
$errors = $validator->errors();
|
||||
|
||||
foreach ($this->input('materials', []) as $index => $material) {
|
||||
$key = "materials.{$index}.raw_material_price_id";
|
||||
|
||||
if ($errors->has($key)) {
|
||||
Log::warning('Validasi varian bahan baku gagal', [
|
||||
'index' => $index,
|
||||
'raw_material_price_id' => $material['raw_material_price_id'] ?? null,
|
||||
'error' => $errors->first($key),
|
||||
]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, string>
|
||||
*/
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class CuttingService
|
||||
@ -682,6 +683,11 @@ private function buildMaterials(array $materials): array
|
||||
->find($itemData['raw_material_price_id']);
|
||||
|
||||
if ($price === null) {
|
||||
Log::warning('Bahan baku tidak ditemukan saat build materials cutting', [
|
||||
'index' => $index,
|
||||
'raw_material_price_id' => $itemData['raw_material_price_id'] ?? null,
|
||||
]);
|
||||
|
||||
throw ValidationException::withMessages([
|
||||
"materials.{$index}.raw_material_price_id" => 'Bahan baku tidak ditemukan.',
|
||||
]);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user