UserDependentRequest.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Http\Requests;
  3. use App\Enums\KinshipEnum;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Validation\Rule;
  6. class UserDependentRequest extends FormRequest
  7. {
  8. protected function prepareForValidation(): void
  9. {
  10. $user = $this->user();
  11. if ($user?->isAssociado()) {
  12. $this->merge(['responsible_user_id' => $user->id]);
  13. }
  14. }
  15. public function rules(): array
  16. {
  17. $rules = [
  18. 'responsible_user_id' => 'sometimes|integer|exists:users,id',
  19. 'name' => 'sometimes|string|max:255',
  20. 'kinship' => ['sometimes', Rule::enum(KinshipEnum::class)],
  21. ];
  22. if ($this->isMethod('post')) {
  23. $rules['responsible_user_id'] = 'required|integer|exists:users,id';
  24. $rules['name'] = 'required|string|max:255';
  25. $rules['kinship'] = ['required', Rule::enum(KinshipEnum::class)];
  26. $rules['document'] = 'required|file|mimes:jpg,jpeg,png,webp,pdf|max:10240';
  27. }
  28. return $rules;
  29. }
  30. }