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 policyView 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.