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\Enums\Permission;
|
||||||
use App\Http\Requests\Concerns\ValidatesMediaUploads;
|
use App\Http\Requests\Concerns\ValidatesMediaUploads;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
|
|
||||||
class CuttingRequest extends FormRequest
|
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>
|
* @return array<string, string>
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -20,6 +20,7 @@
|
|||||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
|
|
||||||
class CuttingService
|
class CuttingService
|
||||||
@ -682,6 +683,11 @@ private function buildMaterials(array $materials): array
|
|||||||
->find($itemData['raw_material_price_id']);
|
->find($itemData['raw_material_price_id']);
|
||||||
|
|
||||||
if ($price === null) {
|
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([
|
throw ValidationException::withMessages([
|
||||||
"materials.{$index}.raw_material_price_id" => 'Bahan baku tidak ditemukan.',
|
"materials.{$index}.raw_material_price_id" => 'Bahan baku tidak ditemukan.',
|
||||||
]);
|
]);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user