Добавление уникального шаблона в python-номера телефонов - PullRequest
0 голосов
/ 25 октября 2019

Я нашел проект на Github, который может помочь мне проверить правильность ввода телефонных номеров, есть такой класс, проверяющий его:

class PhoneNumberField(CharField):
    default_validators = [validate_international_phonenumber]

    def __init__(self, *args, region=None, **kwargs):
        super().__init__(*args, **kwargs)
        self.widget.input_type = "tel"

        validate_region(region)
        self.region = region

        if "invalid" not in self.error_messages:
            if region:
                number = phonenumbers.example_number(region)
                example_number = to_python(number).as_national
                # Translators: {example_number} is a national phone number.
                error_message = _(
                    "Enter a valid phone number (e.g. {example_number}) "
                    "or a number with an international call prefix."
                )
            else:
                example_number = "+12125552368"  # Ghostbusters
                # Translators: {example_number} is an international phone number.
                error_message = _("Enter a valid phone number (e.g. {example_number}).")
            self.error_messages["invalid"] = error_message.format(
                example_number=example_number
            )

    def to_python(self, value):
        phone_number = to_python(value, region=self.region)

        if phone_number in validators.EMPTY_VALUES:
            return self.empty_value

        if phone_number and not phone_number.is_valid():
            raise ValidationError(self.error_messages["invalid"])

        return phone_number

Но проблема в том, что я хочу добавить еще один шаблон номера телефона для рассмотренияномер телефона правильный

Например, в русском эквиваленте я бы написал 8 вместо + 7 и считаю это правильным способом ввода, но как я могу это сделать?

Ссылка на проект здесь: Здесь

...