Changeset 6926 for django/trunk/django/contrib/localflavor/es
- Timestamp:
- 12/17/07 02:05:27 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/localflavor/es/forms.py
r6555 r6926 16 16 between 01 and 52, assigned to provinces code. 17 17 """ 18 default_error_messages = { 19 'invalid': _('Enter a valid postal code in the range and format 01XXX - 52XXX.'), 20 } 21 18 22 def __init__(self, *args, **kwargs): 19 23 super(ESPostalCodeField, self).__init__( 20 24 r'^(0[1-9]|[1-4][0-9]|5[0-2])\d{3}$', 21 max_length=None, min_length=None, 22 error_message=_('Enter a valid postal code in the range and format 01XXX - 52XXX.'), 23 *args, **kwargs) 25 max_length=None, min_length=None, *args, **kwargs) 24 26 25 27 class ESPhoneNumberField(RegexField): … … 34 36 TODO: accept and strip characters like dot, hyphen... in phone number 35 37 """ 38 default_error_messages = { 39 'invalid': _('Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX.'), 40 } 41 36 42 def __init__(self, *args, **kwargs): 37 43 super(ESPhoneNumberField, self).__init__(r'^(6|8|9)\d{8}$', 38 max_length=None, min_length=None, 39 error_message=_('Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX.'), 40 *args, **kwargs) 44 max_length=None, min_length=None, *args, **kwargs) 41 45 42 46 class ESIdentityCardNumberField(RegexField): … … 59 63 letters, so both validations are assumed true for all types. 60 64 """ 65 default_error_messages = { 66 'invalid': _('Please enter a valid NIF, NIE, or CIF.'), 67 'invalid_only_nif': _('Please enter a valid NIF or NIE.'), 68 'invalid_nif': _('Invalid checksum for NIF.'), 69 'invalid_nie': _('Invalid checksum for NIE.'), 70 'invalid_cif': _('Invalid checksum for CIF.'), 71 } 72 61 73 def __init__(self, only_nif=False, *args, **kwargs): 62 74 self.only_nif = only_nif … … 65 77 self.cif_types = 'ABCDEFGHKLMNPQS' 66 78 self.nie_types = 'XT' 67 if self.only_nif:68 self.id_types = 'NIF or NIE'69 else:70 self.id_types = 'NIF, NIE, or CIF'71 79 super(ESIdentityCardNumberField, self).__init__(r'^([%s]?)[ -]?(\d+)[ -]?([%s]?)$' % (self.cif_types + self.nie_types + self.cif_types.lower() + self.nie_types.lower(), self.nif_control + self.nif_control.lower()), 72 80 max_length=None, min_length=None, 73 error_message= _('Please enter a valid %s.' % self.id_types),81 error_message=self.default_error_messages['invalid%s' % (self.only_nif and '_only_nif' or '')], 74 82 *args, **kwargs) 75 83 … … 89 97 return value 90 98 else: 91 raise ValidationError, _('Invalid checksum for NIF.')99 raise ValidationError, self.error_messages['invalid_nif'] 92 100 elif letter1 in self.nie_types and letter2: 93 101 # NIE … … 95 103 return value 96 104 else: 97 raise ValidationError, _('Invalid checksum for NIE.')105 raise ValidationError, self.error_messages['invalid_nie'] 98 106 elif not self.only_nif and letter1 in self.cif_types and len(number) in [7, 8]: 99 107 # CIF … … 104 112 return value 105 113 else: 106 raise ValidationError, _('Invalid checksum for CIF.')114 raise ValidationError, self.error_messages['invalid_cif'] 107 115 else: 108 raise ValidationError, _('Please enter a valid %s.' % self.id_types)116 raise ValidationError, self.error_messages['invalid'] 109 117 110 118 class ESCCCField(RegexField): … … 131 139 TODO: allow IBAN validation too 132 140 """ 141 default_error_messages = { 142 'invalid': _('Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX.'), 143 'checksum': _('Invalid checksum for bank account number.'), 144 } 145 133 146 def __init__(self, *args, **kwargs): 134 147 super(ESCCCField, self).__init__(r'^\d{4}[ -]?\d{4}[ -]?\d{2}[ -]?\d{10}$', 135 max_length=None, min_length=None, 136 error_message=_('Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX.'), 137 *args, **kwargs) 148 max_length=None, min_length=None, *args, **kwargs) 138 149 139 150 def clean(self, value): … … 148 159 return value 149 160 else: 150 raise ValidationError, _('Invalid checksum for bank account number.')161 raise ValidationError, self.error_messages['checksum'] 151 162 152 163 class ESRegionSelect(Select):
