From 7cedff090b28d4af7e54f3c7fa7d4aec26abd4e1 Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Sat, 9 May 2020 17:38:09 +0530 Subject: [PATCH] :beers: django forms working, domain validators added --- requirements.txt | 1 + targetApp/forms.py | 2 ++ targetApp/validators.py | 10 ++++++++++ 3 files changed, 13 insertions(+) create mode 100644 targetApp/validators.py 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}, + )