1 """ |
1 """ |
2 JP-specific Form helpers |
2 JP-specific Form helpers |
3 """ |
3 """ |
4 |
4 |
5 from django.core import validators |
5 from django.forms import ValidationError |
6 from django.newforms import ValidationError |
6 from django.utils.translation import ugettext_lazy as _ |
7 from django.utils.translation import ugettext |
7 from django.forms.fields import RegexField, Select |
8 from django.newforms.fields import RegexField, Select |
|
9 |
8 |
10 class JPPostalCodeField(RegexField): |
9 class JPPostalCodeField(RegexField): |
11 """ |
10 """ |
12 A form field that validates its input is a Japanese postcode. |
11 A form field that validates its input is a Japanese postcode. |
13 |
12 |
14 Accepts 7 digits, with or without a hyphen. |
13 Accepts 7 digits, with or without a hyphen. |
15 """ |
14 """ |
16 default_error_messages = { |
15 default_error_messages = { |
17 'invalid': ugettext('Enter a postal code in the format XXXXXXX or XXX-XXXX.'), |
16 'invalid': _('Enter a postal code in the format XXXXXXX or XXX-XXXX.'), |
18 } |
17 } |
19 |
18 |
20 def __init__(self, *args, **kwargs): |
19 def __init__(self, *args, **kwargs): |
21 super(JPPostalCodeField, self).__init__(r'^\d{3}-\d{4}$|^\d{7}$', |
20 super(JPPostalCodeField, self).__init__(r'^\d{3}-\d{4}$|^\d{7}$', |
22 max_length=None, min_length=None, *args, **kwargs) |
21 max_length=None, min_length=None, *args, **kwargs) |