""" This module defines form classes for domain editing. """ from __future__ import absolute_import, unicode_literals import re from django import forms from django.urls import reverse from django.utils.translation import ugettext as _ from crispy_forms.helper import FormHelper from crispy_forms.layout import ( Layout, Submit, ) 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}(?