octobercms/october · error · ValidationException

Password must contain at least one lowercase character.

Error message

Password must contain at least one lowercase character.

What it means

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

Source

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

    public function validatePasswordPolicy($password)
    {
        $policy = Config::get('backend.password_policy', []);

        if ($minLength = $policy['min_length'] ?? 4) {
            if (mb_strlen($password) < $minLength) {
                throw new ValidationException(['password' => __('Password must have a minimum of length of :min characters', ['min'=>$minLength])]);
            }
        }

        if ($policy['require_uppercase'] ?? false) {
            if (mb_strtolower($password) === $password) {
                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

View on GitHub (pinned to b608633a7e)

When it happens

Trigger: Thrown at modules/backend/models/User.php:369 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/394244a89814f1a1. Report an issue: GitHub.