content: from django.core.exceptions import ValidationError
  from django.core.validators import BaseValidator, RegexValidator
  from django.utils.translation import gettext_lazy as _
  
  
  def prefix_validator(prefix):
      if prefix.ip != prefix.cidr.ip:
          raise ValidationError(
              _("{prefix} is not a valid prefix. Did you mean {suggested}?").format(
                  prefix=prefix, suggested=prefix.cidr
              )
          )
  
  
  class MaxPrefixLengthValidator(BaseValidator):
      message = _('The prefix length must be less than or equal to %(limit_value)s.')
      code = 'max_prefix_length'
  
      def compare(self, a, b):
          return a.prefixlen > b
  
  
  class MinPrefixLengthValidator(BaseValidator):
      message = _('The prefix length must be greater than or equal to %(limit_value)s.')
      code = 'min_prefix_length'
  
      def compare(self, a, b):
          return a.prefixlen < b
  
  
  DNSValidator = RegexValidator(
      regex=r'^([0-9A-Za-z_-]+|\*)(\.[0-9A-Za-z_-]+)*\.?$',
      message=_('Only alphanumeric characters, asterisks, hyphens, periods, and underscores are allowed in DNS names'),
      code='invalid'
  )
  