title: Problems raising custom validation error on Django form
body: <p>I have a basic registration form that includes a <code>BooleanField</code> for people to accept Terms and Privacy Policy. What I want to do is change the language of the ValidationError that is raised if users do not check it.</p>
  
  <pre><code>class RegisterForm(forms.Form):
      username = forms.CharField(label="Username")
      email = forms.EmailField(label="Email")
      location = forms.CharField(label="Location",required=False)
      headline = forms.CharField(label="Headline",required=False)
      password = forms.CharField(widget=forms.PasswordInput,label="Password")
      confirm_password = forms.CharField(widget=forms.PasswordInput,label="Confirm Password")
      terms = TermsField(label=mark_safe("I have read and understand the &lt;a href='/terms'&gt;Terms of Service&lt;/a&gt; and &lt;a href='/privacy'&gt;Privacy Policy&lt;/a&gt;."),required=True)
  </code></pre>
  
  <p><code>TermsField</code> is subclassed from <code>BooleanField</code>:</p>
  
  <pre><code>class TermsField(forms.BooleanField):
      "Check that user agreed, return custom message."
  
      def validate(self,value):
          if not value:
              raise forms.ValidationError('You must agree to the Terms of Service and Privacy Policy to use this site.')
          else:    
              super(TermsField, self).validate(value)
  </code></pre>
  
  <p>It validates correctly in that if a user does not check them TermsField the form does not validate, but it returns the generic "This field is required" error. This seems like a pretty simple task, and I'm sure I'm doing something basic wrong. Any ideas?</p>