def clean(self):
        """
        Verifiy that the values entered into the two password fields
        match. Note that an error here will end up in
        ``non_field_errors()`` because it doesn't apply to a single
        field.
        """
        if 'dob_day' in self.cleaned_data and 'dob_month' in \
                self.cleaned_data and 'dob_year' in self.cleaned_data:
                try:
                    self._gen_dob()
                except ValueError:
                    self._errors['dob_day'] = (_(\
                            "You provided an invalid date."),)

        if 'password1' in self.cleaned_data and 'password2' in \
                self.cleaned_data:
            if self.cleaned_data['password1'] != \
                    self.cleaned_data['password2']:
                raise forms.ValidationError(_(\
                        "The two password fields didn't match."))

        return self.cleaned_data