Commit 89f4e88a authored by Andrii Marynets's avatar Andrii Marynets

Add validation to form

parent bc2a9800
......@@ -3,30 +3,25 @@ from django import forms
from .models import Job, Spider
class CreateJobForm(forms.Form):
name = forms.CharField(max_length=100)
spider = forms.IntegerField()
query = forms.CharField(max_length=255)
date = forms.DateTimeField()
interval = forms.CharField(max_length=100)
count = forms.IntegerField()
class CreateJobForm(forms.ModelForm):
def is_valid(self):
if self.data.get('date'):
if self.data.get('date') < datetime.now().date():
raise forms.ValidationError('Date should be greater or equal')
def create_job(self):
Job.objects.create(
name=self.cleaned_data.get('name'),
spider=Spider.objects.get(pk=self.cleaned_data.get('spider')),
query=self.cleaned_data.get('query')
)
class CreateForm(forms.ModelForm):
super(CreateJobForm, self).is_valid()
if self.validate_query():
return True
else:
return False
def validate_query(self):
query = self.cleaned_data['query']
if query:
block = [';', 'select', 'alter', 'drop', 'truncate', 'update']
if any(ext in query for ext in block):
raise forms.ValidationError('Bad query')
else:
return True
else:
return True
class Meta:
model = Job
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment