Changeset 6926 for django/trunk/django/contrib/localflavor/us
- Timestamp:
- 12/17/07 02:05:27 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/localflavor/us/forms.py
r5876 r6926 13 13 14 14 class USZipCodeField(RegexField): 15 default_error_messages = { 16 'invalid': ugettext('Enter a zip code in the format XXXXX or XXXXX-XXXX.'), 17 } 18 15 19 def __init__(self, *args, **kwargs): 16 20 super(USZipCodeField, self).__init__(r'^\d{5}(?:-\d{4})?$', 17 max_length=None, min_length=None, 18 error_message=ugettext('Enter a zip code in the format XXXXX or XXXXX-XXXX.'), 19 *args, **kwargs) 21 max_length=None, min_length=None, *args, **kwargs) 20 22 21 23 class USPhoneNumberField(Field): 24 default_error_messages = { 25 'invalid': u'Phone numbers must be in XXX-XXX-XXXX format.', 26 } 27 22 28 def clean(self, value): 23 29 super(USPhoneNumberField, self).clean(value) … … 28 34 if m: 29 35 return u'%s-%s-%s' % (m.group(1), m.group(2), m.group(3)) 30 raise ValidationError( u'Phone numbers must be in XXX-XXX-XXXX format.')36 raise ValidationError(self.error_messages['invalid']) 31 37 32 38 class USSocialSecurityNumberField(Field): … … 45 51 1962 promotional number). 46 52 """ 53 default_error_messages = { 54 'invalid': ugettext('Enter a valid U.S. Social Security number in XXX-XX-XXXX format.'), 55 } 56 47 57 def clean(self, value): 48 58 super(USSocialSecurityNumberField, self).clean(value) 49 59 if value in EMPTY_VALUES: 50 60 return u'' 51 msg = ugettext('Enter a valid U.S. Social Security number in XXX-XX-XXXX format.')52 61 match = re.match(ssn_re, value) 53 62 if not match: 54 raise ValidationError( msg)63 raise ValidationError(self.error_messages['invalid']) 55 64 area, group, serial = match.groupdict()['area'], match.groupdict()['group'], match.groupdict()['serial'] 56 65 … … 59 68 group == '00' or \ 60 69 serial == '0000': 61 raise ValidationError( msg)70 raise ValidationError(self.error_messages['invalid']) 62 71 63 72 # Second pass: promotional and otherwise permanently invalid numbers. … … 66 75 value == '078-05-1120' or \ 67 76 value == '219-09-9999': 68 raise ValidationError( msg)77 raise ValidationError(self.error_messages['invalid']) 69 78 return u'%s-%s-%s' % (area, group, serial) 70 79 … … 75 84 abbreviation for the given state. 76 85 """ 86 default_error_messages = { 87 'invalid': u'Enter a U.S. state or territory.', 88 } 89 77 90 def clean(self, value): 78 91 from us_states import STATES_NORMALIZED … … 89 102 except KeyError: 90 103 pass 91 raise ValidationError( u'Enter a U.S. state or territory.')104 raise ValidationError(self.error_messages['invalid']) 92 105 93 106 class USStateSelect(Select):
