How can I set a minimum password length when using the built-in Django auth module?

前端 未结 5 896
南方客
南方客 2021-01-01 21:25

I’m implementing authentication in a Django site using the built-in auth module, including the built-in UserCreationForm.

I’d like to set a minimum length for passwo

5条回答
  •  余生分开走
    2021-01-01 21:46

    /django/contrib/auth/password_validation.py Contains class MinimumLengthValidator with default the password minimum length:

    class MinimumLengthValidator(object):
        """
        Validate whether the password is of a minimum length.
        """
        def __init__(self, min_length=8):
            self.min_length = min_length
    
        def validate(self, password, user=None):
            if len(password) < self.min_length:
                raise ValidationError(
                    ungettext(
                        "This password is too short. It must contain at least %(min_length)d character.",
                        "This password is too short. It must contain at least %(min_length)d characters.",
                        self.min_length
                    ),
                    code='password_too_short',
                    params={'min_length': self.min_length},
                )
    
        def get_help_text(self):
            return ungettext(
                "Your password must contain at least %(min_length)d character.",
                "Your password must contain at least %(min_length)d characters.",
                self.min_length
            ) % {'min_length': self.min_length}
    

提交回复
热议问题