HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Requests/StoreLabCategoryRequest.php
<?php

namespace App\Http\Requests;

use Illuminate\Validation\Rule;
use App\Lab;
use Illuminate\Foundation\Http\FormRequest;

class StoreLabCategoryRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        $labId = Lab::where('user_id', auth()->user()->id)->value('id');
        $labCategoryId = $this->route('id') ?? $this->input('id');

        return [
            'name' => [
                'required',
                'string',
                'max:255',
                Rule::unique('lab_categories')
                    ->where(function ($query) use ($labId) {
                        $query->where('lab_id', $labId);
                    })
                    ->ignore($labCategoryId),
            ],
            'description' => 'nullable|string',
            'image' => [
                'required',
            ],
        ];
    }

    public function messages()
    {
        return [
            'name.required' => __('digimed_validation.form_validation_error.name_required'),
            'name.string' => __('digimed_validation.form_validation_error.name_string'),
            'name.max' => __('digimed_validation.form_validation_error.name_max'),
            'description.string' => __('digimed_validation.form_validation_error.description_string'),
            'image.image' => __('digimed_validation.form_validation_error.image_image'),
            'image.mimes' => __('digimed_validation.form_validation_error.image_mimes'),
            'image.max' => __('digimed_validation.form_validation_error.image_max'),
        ];
    }
}