Changeset 285

Show
Ignore:
Timestamp:
06/08/07 12:48:33 (2 years ago)
Author:
matt
Message:

Added CallableValidator?.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r284 r285  
     12007-06-08  Matt Goodall <matt@pollenation.net> 
     2 
     3        Added a CallableValidator that delegates the validation to some callable 
     4        object. This makes typical validators much easier to write. 
     5 
    162007-06-06  Matt Goodall <matt@pollenation.net> 
    27 
  • trunk/formal/validation.py

    r196 r285  
    130130        if self.regex.match(value) is None: 
    131131            raise FieldValidationError, 'Invalid format' 
     132 
     133 
     134 
     135class CallableValidator(object): 
     136    """ 
     137    A validator that delegates the validation of non-None values to a callable 
     138    with the same signature as IValidator.validate. 
     139    """ 
     140 
     141    implements(iformal.IValidator) 
     142 
     143 
     144    def __init__(self, callable): 
     145        self.callable = callable 
     146 
     147 
     148    def validate(self, field, value): 
     149        if value is None: 
     150            return 
     151        self.callable(field, value) 
     152         
    132153             
    133154     
     
    135156    'FormError', 'FieldError', 'FieldValidationError', 'FieldRequiredError', 
    136157    'RequiredValidator', 'LengthValidator', 'RangeValidator', 'PatternValidator', 
     158    'CallableValidator', 
    137159    ] 
    138160 
  • trunk/setup.py

    r284 r285  
    33setup( 
    44    name='formal', 
    5     version='0.13.2', 
     5    version='0.14', 
    66    description='HTML forms framework for Nevow', 
    77    author='Matt Goodall',