def render(self, name, value, attrs=None): if not value: value = u"" country = get_country() try: value = e164_format(parse_pstn_number(value, country), country) except ValueError: value = "" return forms.TextInput.render(self, name, value, attrs)
def clean(self, value): if not value or not value.strip(): if not self.required: return "" else: raise forms.ValidationError(_("This field is required")) if value.strip().lower() in ("", "unavailable", "anonymous"): return "" try: return parse_pstn_number(value, get_country()) except ValueError: raise forms.ValidationError(_("Invalid phone number"))
def __deepcopy__(self, memo): res = forms.ChoiceField.__deepcopy__(self, memo) res.choices = localized_countries() if not res.initial: res.initial = get_country() return res