|
10 | 10 |
|
11 | 11 | from phonenumber_field.formfields import PhoneNumberField, SplitPhoneNumberField
|
12 | 12 | from phonenumber_field.phonenumber import PhoneNumber
|
| 13 | +from phonenumber_field.validators import validate_phonenumber |
13 | 14 |
|
14 | 15 | ALGERIAN_PHONE_NUMBER = "+213799136332"
|
15 | 16 |
|
@@ -132,6 +133,16 @@ class PhoneNumberForm(forms.Form):
|
132 | 133 | form.errors, {"number": ["Enter a valid phone number (e.g. +12125552368)."]}
|
133 | 134 | )
|
134 | 135 |
|
| 136 | + def test_validate_shortcode(self): |
| 137 | + class ShortCodePhoneNumberField(PhoneNumberField): |
| 138 | + default_validators = [validate_phonenumber] |
| 139 | + |
| 140 | + class TestForm(forms.Form): |
| 141 | + phone = ShortCodePhoneNumberField(region="FR") |
| 142 | + |
| 143 | + form = TestForm({"phone": "1010"}) |
| 144 | + self.assertIs(form.is_valid(), True) |
| 145 | + |
135 | 146 |
|
136 | 147 | class SplitPhoneNumberFormFieldTest(SimpleTestCase):
|
137 | 148 | def example_number(self, region_code: str) -> PhoneNumber:
|
@@ -580,3 +591,13 @@ class TestForm(forms.Form):
|
580 | 591 | form = TestForm(phone_data)
|
581 | 592 | self.assertIs(form.is_valid(), False)
|
582 | 593 | self.assertEqual(form.errors["phone"], [error_message])
|
| 594 | + |
| 595 | + def test_validate_shortcode(self): |
| 596 | + class ShortCodeSplitPhoneNumberField(SplitPhoneNumberField): |
| 597 | + default_validators = [validate_phonenumber] |
| 598 | + |
| 599 | + class TestForm(forms.Form): |
| 600 | + phone = ShortCodeSplitPhoneNumberField() |
| 601 | + |
| 602 | + form = TestForm({"phone_0": "FR", "phone_1": "1010"}) |
| 603 | + self.assertIs(form.is_valid(), True) |
0 commit comments