'sometimes|email', 'phone' => 'sometimes|string|nullable', 'type' => ['sometimes', Rule::enum(UserTypeEnum::class)], 'code' => 'sometimes|string|nullable', ]; if (!$this->has('email')) { $rules['phone'] = 'required|string|max:20'; $rules['email'] = 'nullable'; } if (!$this->has('phone')) { $rules['email'] = 'required|email'; $rules['phone'] = 'nullable'; } return $rules; } }