""" This module defines form classes for domain editing. """ from __future__ import absolute_import import re from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Submit from django import forms from django.urls import reverse from django.utils.translation import gettext as _ from .models import HostingDomain def relative_domain_validator(value): """ This validator ensures that the given value is a valid lowercase domain name. """ if len(value) > 254: raise forms.ValidationError(_("host name too long"), code="too-long") allowed = re.compile(r"(?!-)[a-z\d-]{1,63}(?