32 lines
1.0 KiB
PHP
32 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Requests\Directory;
|
|
|
|
use Illuminate\Foundation\Http\FormRequest;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class EquipmentRequest extends FormRequest
|
|
{
|
|
public function authorize(): bool
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public function rules(): array
|
|
{
|
|
$equipment = $this->route('equipment');
|
|
|
|
return [
|
|
'name' => ['required', 'string', 'max:255'],
|
|
'serial_number' => ['required', 'string', Rule::unique('equipment', 'serial_number')->ignore($equipment)],
|
|
'inventory_number' => ['required', 'string', Rule::unique('equipment', 'inventory_number')->ignore($equipment)],
|
|
'category_id' => ['required', 'exists:equipment_categories,id'],
|
|
'client_id' => ['nullable', 'exists:users,id'],
|
|
'purchase_date' => ['nullable', 'date'],
|
|
'warranty_until' => ['nullable', 'date'],
|
|
'condition' => ['required', Rule::in(['good', 'fair', 'poor'])],
|
|
'notes' => ['nullable', 'string'],
|
|
];
|
|
}
|
|
}
|