Changeset 6926 for django/trunk/django/contrib/localflavor/de
- Timestamp:
- 12/17/07 02:05:27 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/localflavor/de/forms.py
r5876 r6926 11 11 12 12 class DEZipCodeField(RegexField): 13 default_error_messages = { 14 'invalid': ugettext('Enter a zip code in the format XXXXX.'), 15 } 13 16 def __init__(self, *args, **kwargs): 14 17 super(DEZipCodeField, self).__init__(r'^\d{5}$', 15 max_length=None, min_length=None, 16 error_message=ugettext('Enter a zip code in the format XXXXX.'), 17 *args, **kwargs) 18 max_length=None, min_length=None, *args, **kwargs) 18 19 19 20 class DEStateSelect(Select): … … 37 38 Algorithm is documented at http://de.wikipedia.org/wiki/Personalausweis 38 39 """ 40 default_error_messages = { 41 'invalid': ugettext('Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format.'), 42 } 43 39 44 def has_valid_checksum(self, number): 40 45 given_number, given_checksum = number[:-1], number[-1] … … 58 63 def clean(self, value): 59 64 super(DEIdentityCardNumberField, self).clean(value) 60 error_msg = ugettext('Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format.')61 65 if value in EMPTY_VALUES: 62 66 return u'' 63 67 match = re.match(id_re, value) 64 68 if not match: 65 raise ValidationError( error_msg)69 raise ValidationError(self.error_messages['invalid']) 66 70 67 71 gd = match.groupdict() … … 70 74 71 75 if residence == '0000000000' or birthday == '0000000' or validity == '0000000': 72 raise ValidationError( error_msg)76 raise ValidationError(self.error_messages['invalid']) 73 77 74 78 all_digits = u"%s%s%s%s" % (residence, birthday, validity, checksum) 75 79 if not self.has_valid_checksum(residence) or not self.has_valid_checksum(birthday) or \ 76 80 not self.has_valid_checksum(validity) or not self.has_valid_checksum(all_digits): 77 raise ValidationError( error_msg)81 raise ValidationError(self.error_messages['invalid']) 78 82 79 83 return u'%s%s-%s-%s-%s' % (residence, origin, birthday, validity, checksum)
