forms.py 1.17 KB
from django import forms
from .models import Link
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ValidationError, FieldError
import requests

class CreateLinkForm(forms.ModelForm):

    def clean_link_url(self):
        link_url = self.cleaned_data['link_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:
        model = Link
        fields = ['name','link_url','link_description']

class UpdateLinkForm(forms.ModelForm):
    def clean_link_url(self):
        link_url = self.cleaned_data['link_url']
        try:
            resposta = requests.head(link_url)
            if resposta.status_code >= 400:
                raise forms.ValidationError(_('Invalid url!'))
        except requests.ConnectionError:
            raise forms.ValidationError(_('Invalid url!'))
        return link_url
    class Meta:
        model = Link
        fields = ['name','link_url','link_description']