Ticket #3515: forms.2.diff

File forms.2.diff, 958 bytes (added by Simon Litchfield <simon@…>, 17 years ago)

Fixed errors 'sticking'

  • django/newforms/forms.py

     
    167167                if hasattr(self, 'clean_%s' % name):
    168168                    value = getattr(self, 'clean_%s' % name)()
    169169                self.clean_data[name] = value
     170                # Revert field css class back to initial value
     171                if field.widget.attrs.has_key('class'):
     172                    if field.css:
     173                        field.widget.attrs.update({'class': str(field.css)})
     174                    else:
     175                        del field.widget.attrs['class']
    170176            except ValidationError, e:
    171177                errors[name] = e.messages
     178                # Prepend 'error' to field css class
     179                field.widget.attrs.update({'class': ('error ' + str(field.css)).rstrip()})
    172180        try:
    173181            self.clean_data = self.clean()
    174182        except ValidationError, e:
Back to Top