diff --git a/links/forms.py b/links/forms.py index 232c4f3..81fb016 100644 --- a/links/forms.py +++ b/links/forms.py @@ -1,13 +1,19 @@ from django import forms from .models import Link -import validators +from django.utils.translation import ugettext_lazy as _ +from django.core.exceptions import ValidationError, FieldError +import requests class CreateLinkForm(forms.ModelForm): - def clean_link(self): + def clean_link_url(self): link_url = self.cleaned_data['link_url'] - if not validators.url(link_url): - raise forms.ValidationError(_('Please enter a valid URL')) + try: + response = requests.head(link_url) + if response.status_code >= 400: + raise forms.ValidationError(_('Invalid url!')) + except requests.ConnectionError: + raise forms.ValidationError(_('Invalid url!')) return link_url class Meta: -- libgit2 0.21.2