'sometimes|string|nullable', 'password' => 'sometimes|string|nullable', 'type' => ['sometimes', Rule::enum(UserTypeEnum::class)], 'email' => 'sometimes|unique:users,email|email', 'language' => 'sometimes|string|nullable', ]; if ($this->isMethod('post')) { $rules['name'] = 'required|string'; $rules['password'] = 'required|string'; $rules['email'] = 'required|unique:users,email|email'; $rules['language'] = 'sometimes|string|in:pt,en,es'; if (!$this->has('language')) { $this->merge(['language' => 'pt']); }; } return $rules; } }