AppointmentRequest.php 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Requests;
  3. use App\Enums\AppointmentStatusEnum;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Validation\Rule;
  6. class AppointmentRequest extends FormRequest
  7. {
  8. public function rules(): array
  9. {
  10. $rules = [
  11. 'user_id' => 'sometimes|integer|exists:users,id',
  12. 'partner_agreement_id' => 'sometimes|integer|exists:partner_agreements,id',
  13. 'partner_agreement_service_id' => 'sometimes|integer|exists:partner_agreement_services,id',
  14. 'date' => 'sometimes|date',
  15. 'time' => 'sometimes|date_format:H:i',
  16. 'observations' => 'sometimes|nullable|string',
  17. 'status' => ['sometimes', Rule::enum(AppointmentStatusEnum::class)],
  18. ];
  19. if ($this->isMethod('post')) {
  20. $rules['user_id'] = 'required|integer|exists:users,id';
  21. $rules['partner_agreement_id'] = 'required|integer|exists:partner_agreements,id';
  22. $rules['partner_agreement_service_id'] = 'required|integer|exists:partner_agreement_services,id';
  23. }
  24. return $rules;
  25. }
  26. }