I tried to implement what I want, please review (this example works for me):
patch: Index: fields.py =================================================================== --- fields.py (revision 4253) +++ fields.py (working copy) @@ -33,7 +33,7 @@ # Tracks each time a Field instance is created. Used to retain order. creation_counter = 0 - def __init__(self, required=True, widget=None, label=None, initial=None): + def __init__(self, required=True, widget=None, label=None, initial=None, validator_list=[]): # required -- Boolean that specifies whether the field is required. # True by default. # widget -- A Widget class, or instance of a Widget class, that should be @@ -72,6 +72,9 @@ """ if self.required and value in EMPTY_VALUES: raise ValidationError(gettext(u'This field is required.')) + for validator in self.validator_list: + validator(value) + return value def widget_attrs(self, widget): @@ -83,8 +86,8 @@ return {} class CharField(Field): - def __init__(self, max_length=None, min_length=None, required=True, widget=None, label=None, initial=None): - self.max_length, self.min_length = max_length, min_length + def __init__(self, max_length=None, min_length=None, required=True, widget=None, label=None, initial=None, validator_list=[]): + self.max_length, self.min_length, self.validator_list = max_length, min_length, validator_list Field.__init__(self, required, widget, label, initial) def clean(self, value): usage: #------------------------------------------------------------------------------- def isSomething( value ): if( value != 'something' ): raise ValidationError, gettext( "not something!." ) #------------------------------------------------------------------------------- class AddChangeProductForm( forms.Form ): ''' form used for creating or renaming a product ''' name = forms.CharField( validator_list = [ isSomething ] ) #------------------------------------------------------------------------------- p.s. I'm relatevely new to python, so let your critics be constructive. thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---