| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace App\Http\Requests;
- use Illuminate\Foundation\Http\FormRequest;
- use App\Enums\{
- UserTypeEnum,
- LanguageEnum
- };
- use Illuminate\Validation\Rule;
- class UserRequest extends FormRequest
- {
- public function rules(): array
- {
- $rules = [
- 'avatar' => 'sometimes|nullable|image|max:2048',
- 'name' => 'sometimes|string|nullable|max:255',
- 'cpf' => 'sometimes|nullable|string|max:14',
- 'email' => 'sometimes|email',
- 'password' => 'sometimes|string|nullable|min:8',
- 'user_type' => ['sometimes', Rule::enum(UserTypeEnum::class)],
- 'language' => ['sometimes', Rule::enum(LanguageEnum::class)],
- 'state_id' => 'sometimes|nullable|integer|exists:states,id',
- 'unit_id' => 'sometimes|nullable|integer|exists:units,id',
- ];
- if ($this->isMethod('post')) {
- $rules['name'] = 'required|string|max:255';
- $rules['email'] = 'required|email|unique:users,email';
- $rules['password'] = 'required|string|min:8';
- $rules['user_type'] = ['required', Rule::enum(UserTypeEnum::class)];
- if (!$this->has('language')) {
- $this->merge(['language' => LanguageEnum::PORTUGUESE->value]);
- }
- }
- return $rules;
- }
- }
|