code: def _post_clean(self):
          
          super()._post_clean()  # updates self.instance with form data
          password = self.cleaned_data.get('password1')
          if password:
              try:
                  password_validation.validate_password(password, self.instance)
              except ValidationError as error:
                  self.add_error('password1', error)
docs: Run password validaton after clean methods
  
          When clean methods are run, the user instance does not yet
          exist.  To properly compare model values agains the password (in
          the UserAttributeSimilarityValidator), we wait until we have an
          instance to compare against.
  
          https://code.djangoproject.com/ticket/28127
          https://github.com/django/django/pull/8408
  
          Has no effect in Django prior to 1.9
          May become unnecessary in Django 2.0 (if this superclass changes)