UserRequest.php 976 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Http\Requests;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. use App\Enums\UserTypeSource;
  5. use Illuminate\Validation\Rule;
  6. class UserRequest extends FormRequest
  7. {
  8. public function rules(): array
  9. {
  10. $rules = [
  11. 'name' => 'sometimes|string|nullable',
  12. 'password' => 'sometimes|string|nullable',
  13. 'type' => ['sometimes', Rule::enum(UserTypeSource::class)],
  14. 'email' => 'sometimes|unique:users,email|email',
  15. 'language' => 'sometimes|string|nullable',
  16. ];
  17. if ($this->isMethod('post')) {
  18. $rules['name'] = 'required|string';
  19. $rules['password'] = 'required|string';
  20. $rules['email'] = 'required|unique:users,email|email';
  21. $rules['language'] = 'sometimes|string|in:pt,en,es';
  22. if (!$this->has('language')) {
  23. $this->merge(['language' => 'pt']);
  24. };
  25. }
  26. return $rules;
  27. }
  28. }