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'),
];
}
}