title: Convert all CharField Form Field inputs to lowercase in Django forms
body: <p>I am using a Django form for user signup, where the user is able to enter a coupon code. I want all characters entered in the coupon code field to be converted to lowercase. I've tried using .lower() in the save method, in a custom cleaning method, and in a custom validator, but am having no luck with those approaches. Below is my code.</p>
  
  <pre><code>class StripeSubscriptionSignupForm(forms.Form):
      coupon = forms.CharField(max_length=30,
          required=False,
          validators=[validate_coupon],
          label=mark_safe("&lt;p class='signup_label'&gt;Promo Code&lt;/p&gt;")
  
      def save(self, user):
          try:
              customer, created = Customer.get_or_create(user)
              customer.update_card(self.cleaned_data["stripe_token"])
              customer.subscribe(self.cleaned_data["plan"], self.cleaned_data["coupon"].lower())
          except stripe.StripeError as e:
              # handle error here
              raise e
  </code></pre>
  
  <p>As mentioned above, I've also tried a cleaning method, but this doesn't work either:</p>
  
  <pre><code>def clean_coupon(self):
      return self.cleaned_data['coupon'].lower()
  </code></pre>