РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
476 of 818 menu

Валидатор validate_ipv6_address

Валидатор validate_ipv6_address применяется к полям форм Django для проверки того, что введенное значение является корректным IPv6-адресом. Данный валидатор входит в стандартный набор валидаторов Django и используется для обеспечения правильности формата IP-адресов шестой версии. Валидатор принимает строку и проверяет ее на соответствие стандартам IPv6, включая сокращенные и полные формы записи.

Синтаксис

from django.core.validators import validate_ipv6_address validate_ipv6_address(value)

Валидатор принимает один обязательный параметр:

  • ⁅b⁆value⁅/b⁆ - строка, содержащая IPv6-адрес для проверки

При успешной проверке валидатор ничего не возвращает. В случае ошибки выбрасывается исключение ValidationError с соответствующим сообщением.

Пример

Используем валидатор для проверки корректного IPv6-адреса:

from django.core.validators import validate_ipv6_address from django.core.exceptions import ValidationError # Проверка корректного IPv6-адреса ip_address = "2001:0db8:85a3:0000:0000:8a2e:0370:7334" try: validate_ipv6_address(ip_address) print("IP-address is valid") except ValidationError as e: print(f"Error: {e.message}")

Результат выполнения кода:

"IP-address is valid"

Пример

Проверим сокращенную форму записи IPv6-адреса:

from django.core.validators import validate_ipv6_address from django.core.exceptions import ValidationError # Сокращенная форма IPv6-адреса ip_address = "::1" try: validate_ipv6_address(ip_address) print("Shortened IPv6 is valid") except ValidationError as e: print(f"Error: {e.message}")

Результат выполнения кода:

"Shortened IPv6 is valid"

Пример

Используем валидатор в поле формы для автоматической проверки IPv6-адресов:

from django import forms from django.core.validators import validate_ipv6_address class ServerForm(forms.Form): name = forms.CharField(max_length=100) ipv6_address = forms.CharField( validators=[validate_ipv6_address], label="IPv6 Address", help_text="Enter a valid IPv6 address" ) def clean_ipv6_address(self): data = self.cleaned_data['ipv6_address'] # Дополнительная обработка после валидации return data

Пример

Обработаем случай с некорректным IPv6-адресом:

from django.core.validators import validate_ipv6_address from django.core.exceptions import ValidationError # Некорректный IPv6-адрес invalid_ip = "256.256.256.256" try: validate_ipv6_address(invalid_ip) print("Address is valid") except ValidationError as e: print(f"Validation failed: {e.message}")

Результат выполнения кода:

"Validation failed: Enter a valid IPv6 address."

Смотрите также

  • валидатор validate_ipv4_address,
    который проверяет корректность IPv4-адресов
  • валидатор validate_ipv46_address,
    который проверяет корректность как IPv4, так и IPv6-адресов
  • валидатор DomainNameValidator,
    который проверяет корректность доменных имен
  • валидатор URLValidator,
    который проверяет корректность URL-адресов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить