RegisterClientRequest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. class RegisterClientRequest extends FormRequest
  5. {
  6. protected function prepareForValidation(): void
  7. {
  8. if (! $this->filled('has_complement')) {
  9. $this->merge(['has_complement' => false]);
  10. }
  11. }
  12. public function rules(): array
  13. {
  14. return [
  15. 'email' => 'sometimes|email|nullable',
  16. 'phone' => 'required|string|max:20',
  17. 'name' => 'sometimes|string|max:255|nullable',
  18. 'code' => 'required|string|max:6',
  19. 'document' => 'required|string|max:20',
  20. 'zip_code' => 'sometimes|string|max:20|nullable',
  21. 'address' => 'sometimes|string|max:255|nullable',
  22. 'number' => 'required|string|max:20',
  23. 'district' => 'required|string|max:255',
  24. 'complement' => 'sometimes|string|max:255|nullable',
  25. 'has_complement' => 'required|boolean',
  26. 'nickname' => 'sometimes|string|max:255|nullable',
  27. 'instructions' => 'sometimes|string|max:500|nullable',
  28. 'address_type' => 'sometimes|string|in:home,commercial,other|nullable',
  29. 'city' => 'required|string|max:255',
  30. 'state' => 'required|string|max:10',
  31. 'latitude' => 'sometimes|numeric|nullable',
  32. 'longitude' => 'sometimes|numeric|nullable',
  33. 'avatar' => 'sometimes|nullable|file|image|mimes:jpg,jpeg,png,webp|max:5120',
  34. ];
  35. }
  36. }