NotificationRequest.php 1.0 KB

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Http\Requests;
  3. use App\Enums\NotificationRecipientEnum;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Validation\Rule;
  6. class NotificationRequest extends FormRequest
  7. {
  8. public function rules(): array
  9. {
  10. $rules = [
  11. 'title' => 'sometimes|string|max:255',
  12. 'message' => 'sometimes|string',
  13. 'recipient' => ['sometimes', Rule::enum(NotificationRecipientEnum::class)],
  14. 'recipient_position_id' => 'sometimes|nullable|integer|exists:positions,id',
  15. 'recipient_sector_id' => 'sometimes|nullable|integer|exists:sectors,id',
  16. 'image' => 'sometimes|nullable|file|mimes:jpg,jpeg,png,webp|max:5120',
  17. ];
  18. if ($this->isMethod('post')) {
  19. $rules['title'] = 'required|string|max:255';
  20. $rules['message'] = 'required|string';
  21. $rules['recipient'] = ['required', Rule::enum(NotificationRecipientEnum::class)];
  22. }
  23. return $rules;
  24. }
  25. }