octobercms/october · error · ValidationException

Password must contain at least one nonalphanumeric character

Error message

Password must contain at least one nonalphanumeric character.

What it means

Error "Password must contain at least one nonalphanumeric character." thrown in octobercms/october.

Source

Thrown at modules/backend/models/User.php:381

                throw new ValidationException(['password' => __('Password must contain at least one uppercase character.')]);
            }
        }

        if ($policy['require_lowercase'] ?? false) {
            if (mb_strtoupper($password) === $password) {
                throw new ValidationException(['password' => __('Password must contain at least one lowercase character.')]);
            }
        }

        if ($policy['require_number'] ?? false) {
            if (!array_filter(str_split($password), 'is_numeric')) {
                throw new ValidationException(['password' => __('Password must contain at least one number.')]);
            }
        }

        if ($policy['require_nonalpha'] ?? false) {
            if (!Str::contains($password, str_split("!@#$%^&*()_+-=[]{}|'"))) {
                throw new ValidationException(['password' => __('Password must contain at least one nonalphanumeric character.')]);
            }
        }

        /**
         * @event user.validatePasswordPolicy
         * Called when the user password is validated against the policy
         *
         * Example usage:
         *
         *     $model->bindEvent('user.validatePasswordPolicy', function (string $password) use ($model) {
         *         throw new ValidationException(['password' => 'Prevent anything from validating ever!']);
         *     });
         *
         */
        $this->fireEvent('user.validatePasswordPolicy', compact('password'));
    }
}

View on GitHub (pinned to b608633a7e)

When it happens

Trigger: Thrown at modules/backend/models/User.php:381 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21). Data as JSON: /api/errors/11ac48b9f6d01ece. Report an issue: GitHub.