diff --git a/django/contrib/auth/password_validation.py b/django/contrib/auth/password_validation.py
index efad0d72a6..332d76c845 100644
--- a/django/contrib/auth/password_validation.py
+++ b/django/contrib/auth/password_validation.py
@@ -84,7 +84,7 @@ def password_validators_help_text_html(password_validators=None):
"""
help_texts = password_validators_help_texts(password_validators)
help_items = [format_html('
{}', help_text) for help_text in help_texts]
- return '' % ''.join(help_items)
+ return '' % ''.join(help_items) if help_items else ''
class MinimumLengthValidator(object):
diff --git a/tests/auth_tests/test_validators.py b/tests/auth_tests/test_validators.py
index e70feb727d..a9f47eac1f 100644
--- a/tests/auth_tests/test_validators.py
+++ b/tests/auth_tests/test_validators.py
@@ -68,6 +68,10 @@ class PasswordValidationTest(TestCase):
self.assertEqual(help_text.count(''), 2)
self.assertIn('12 characters', help_text)
+ @override_settings(AUTH_PASSWORD_VALIDATORS=[])
+ def test_empty_password_validator_help_text_html(self):
+ self.assertEqual(password_validators_help_text_html(), '')
+
class MinimumLengthValidatorTest(TestCase):
def test_validate(self):