diff --git a/requirements.txt b/requirements.txt index 88bc22ed..b3f78661 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ Django==3.0.6 psycopg2==2.8.5 +validators diff --git a/targetApp/forms.py b/targetApp/forms.py index 6bbc8007..9e0b7c69 100644 --- a/targetApp/forms.py +++ b/targetApp/forms.py @@ -1,5 +1,6 @@ from django import forms from .models import Domain +from .validators import validate_domain class AddDomainForm(forms.ModelForm): class Meta: @@ -8,6 +9,7 @@ class AddDomainForm(forms.ModelForm): class RawDomainForm(forms.Form): domain_name = forms.CharField( + validators=[validate_domain], required=True, widget=forms.TextInput( attrs={ diff --git a/targetApp/validators.py b/targetApp/validators.py new file mode 100644 index 00000000..b2a4e0bc --- /dev/null +++ b/targetApp/validators.py @@ -0,0 +1,10 @@ +from django.utils.translation import gettext_lazy as _ +from django.core.exceptions import ValidationError +import validators + +def validate_domain(value): + if not validators.domain(value): + raise ValidationError( + _('%(value)s is not a valid domain Name'), + params={'value': value}, + )