Changeset 4111
- Timestamp:
- 11/26/06 18:23:17 (2 years ago)
- Files:
-
- django/trunk/django/newforms/fields.py (modified) (1 diff)
- django/trunk/tests/regressiontests/forms/tests.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/newforms/fields.py
r4093 r4111 171 171 if value in EMPTY_VALUES: value = u'' 172 172 value = smart_unicode(value) 173 if not self.regex.search(value):173 if (value or self.required) and not self.regex.search(value): 174 174 raise ValidationError(self.error_message) 175 175 return value django/trunk/tests/regressiontests/forms/tests.py
r4106 r4111 485 485 >>> f.clean(None) 486 486 u'' 487 >>> f.clean('') 488 u'' 487 489 >>> f.clean([1, 2, 3]) 488 490 u'[1, 2, 3]' … … 490 492 CharField accepts an optional max_length parameter: 491 493 >>> f = CharField(max_length=10, required=False) 492 >>> f.clean('')493 u''494 494 >>> f.clean('12345') 495 495 u'12345' … … 701 701 ... 702 702 ValidationError: [u'Enter a valid value.'] 703 >>> f.clean('') 704 Traceback (most recent call last): 705 ... 706 ValidationError: [u'This field is required.'] 707 708 >>> f = RegexField('^\d[A-F]\d$', required=False) 709 >>> f.clean('2A2') 710 u'2A2' 711 >>> f.clean('3F3') 712 u'3F3' 713 >>> f.clean('3G3') 714 Traceback (most recent call last): 715 ... 716 ValidationError: [u'Enter a valid value.'] 717 >>> f.clean('') 718 u'' 703 719 704 720 Alternatively, RegexField can take a compiled regular expression:
