помогите пожалуйста пинком в нужно направлении
стандартная проверка для обязательных полей любой формы это проверка на отсутствие пробелов. например если пользователь введёт только пробельные символы в обязательное поле невнимательно сделанной программистом формы, то такая форма успешно отправится. чтобы этого избежать можно проверять поля следующим способом:
models.py:
class PathGlory(models.Model):
title = models.CharField(
max_length=100,
blank=False,
)
text = models.TextField(
max_length=100,
blank=False,
)
forms.py:
class PathGloryForm(forms.ModelForm):
class Meta:
model = PathGlory
fields = (
'title',
'text',
)
def clean_text(self):
text = self.cleaned_data['text'].strip()
if len(text) == 0:
raise forms.ValidationError("Поле не может состоять только из пробелов")
return text
def clean_teaser(self):
teaser = self.cleaned_data['teaser'].strip()
if len(teaser) == 0:
raise forms.ValidationError("Поле не может состоять только из пробелов")
return teaser
views.py:
def path_glory_add_item(request):
if request.method == 'POST':
form = PathGloryForm(request.POST, request.FILES)
if form.is_valid():
PathGlory(
title=form.cleaned_data.get('title').strip(),
text=form.cleaned_data.get('text').strip(),
).save()
return HttpResponseRedirect('/item_added/')
else:
form = PathGloryForm(initial={
'user_id': request.user.pk,
})
t = loader.get_template('path_glory_add_item.html')
c = RequestContext(request, {
'form': form,
})
return HttpResponse(t.render(c))
подскажите пожалуйста не существует ли в django более лаконичного стандартного способа для проверки обязательных полей на наличие пробелов? дело в том, что в моей форме таких полей может быть несколько десятков, не писать же для каждого поля отдельную функцию валидации clean_fieldname()