{"record":{"id":"aeb890dacfbee00c","repo":"z-song/laravel-admin","slug":"invalid-permission-errors","errorCode":null,"errorMessage":"Invalid permission:\r\n{errors}","messagePattern":"Invalid permission:\r\n(.+?)","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/Extension.php","lineNumber":325,"sourceCode":"     *\n     * @return bool\n     */\n    public function validatePermission(array $permission)\n    {\n        if (!empty($permission['method'])) {\n            $permission['method'] = array_map('strtoupper', $permission['method']);\n        }\n\n        /** @var \\Illuminate\\Validation\\Validator $validator */\n        $validator = Validator::make($permission, $this->getPermissionValidationRules());\n\n        if ($validator->passes()) {\n            return true;\n        }\n\n        $message = \"Invalid permission:\\r\\n\".implode(\"\\r\\n\", Arr::flatten($validator->errors()->messages()));\n\n        throw new \\Exception($message);\n    }\n\n    /**\n     * Get permission validation rules.\n     *\n     * @return array\n     */\n    protected function getPermissionValidationRules()\n    {\n        return [\n            'name'     => 'required',\n            'slug'     => ['required', Rule::unique(Config::get('admin.database.permissions_table'), 'slug')],\n            'path'     => 'required|array',\n            'path.*'   => 'string',\n            'method'   => 'nullable|array',\n            'method.*' => ['string', Rule::in(Permission::$httpMethods)],\n        ];\n    }","sourceCodeStart":307,"sourceCodeEnd":343,"githubUrl":"https://github.com/z-song/laravel-admin/blob/67c441eb78ecc5437e59775d89770cd9c2cb1e05/src/Extension.php#L307-L343","documentation":"Error \"Invalid permission:\r\n{errors}\" thrown in z-song/laravel-admin.","triggerScenarios":"Thrown at src/Extension.php:325 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":"67c441eb78ecc5437e59775d89770cd9c2cb1e05","analyzedAt":"2026-08-21T02:51:03.143Z","schemaVersion":2},"datasetVersion":"2026-08-21T03:17:12.404Z"}