{"record":{"id":"7db40aea5447d028","repo":"octobercms/october","slug":"invalid-file-name-name-file-names-can-contain-o-7db40a","errorCode":null,"errorMessage":"Invalid file name: :name. File names can contain only alphanumeric symbols, underscores, dashes and dots. Some examples of correct file names: page.htm, page, subdirectory/page","messagePattern":"Invalid file name: :name\\. File names can contain only alphanumeric symbols, underscores, dashes and dots\\. Some examples of correct file names: page\\.htm, page, subdirectory/page","errorType":"validation","errorClass":"ValidationException","httpStatus":null,"severity":"error","filePath":"modules/cms/classes/CmsObject.php","lineNumber":328,"sourceCode":"     * @param Exception $ex\n     */\n    protected static function throwHalcyonException(Exception $ex)\n    {\n        if ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\MissingFileNameException) {\n            throw new ValidationException([\n                'fileName' => Lang::get('cms::lang.cms_object.file_name_required')\n            ]);\n        }\n        elseif ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\InvalidExtensionException) {\n            throw new ValidationException(['fileName' =>\n                Lang::get('cms::lang.cms_object.invalid_file_extension', [\n                    'allowed' => implode(', ', $ex->getAllowedExtensions()),\n                    'invalid' => $ex->getInvalidExtension()\n                ])\n            ]);\n        }\n        elseif ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\InvalidFileNameException) {\n            throw new ValidationException([\n               'fileName' => Lang::get('cms::lang.cms_object.invalid_file', ['name'=>$ex->getInvalidFileName()])\n            ]);\n        }\n        elseif ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\InvalidDirectoryNameException) {\n            throw new ValidationException([\n               'fileName' => Lang::get('cms::lang.cms_object.invalid_file', ['name'=>$ex->getInvalidDirectoryName()])\n            ]);\n        }\n        elseif ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\FileExistsException) {\n            throw new ValidationException(['fileName' =>\n                Lang::get('cms::lang.cms_object.file_already_exists', ['name' => $ex->getInvalidPath()])\n            ]);\n        }\n        elseif ($ex instanceof \\October\\Rain\\Halcyon\\Exception\\CreateDirectoryException) {\n            throw new ValidationException(['fileName' =>\n                Lang::get('cms::lang.cms_object.error_creating_directory', ['name' => $ex->getInvalidPath()])\n            ]);\n        }","sourceCodeStart":310,"sourceCodeEnd":346,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/cms/classes/CmsObject.php#L310-L346","documentation":"Error \"Invalid file name: :name. File names can contain only alphanumeric symbols, underscores, dashes and dots. Some examples of correct file names: page.htm, page, subdirectory/page\" thrown in octobercms/october.","triggerScenarios":"Thrown at modules/cms/classes/CmsObject.php:328 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b608633a7e8922487d91a8161499020121c3b3bf","analyzedAt":"2026-08-21T04:24:57.515Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}