при вводе в форму слова размером меньше три символа должна появляться forms.ValidationError.
У меня в этом случае вообще ничего не происходит.
Просто форма обнуляется.
как сделать чтобы срабатывало?
forms.py
from django import forms import re from django.utils.translation import gettext_lazy as _ class SearchForm(forms.Form): bez = forms.CharField(max_length=40, label=_("Search condition / Cross-reference "), required=False) def clean(self): cleaned_data = super(SearchForm, self).clean() bez0 = cleaned_data.get('bez') cleaned_bez = re.sub('([^a-zA-Z0-9])',"", bez0) cleaned_bez = cleaned_bez.upper() cleaned_bez = cleaned_bez.replace("NBR","") if len(cleaned_bez) < 3: raise forms.ValidationError(_('PLEASE ENTER AT LEAST 3 CHARACTERS')) return(cleaned_bez)
views.py
def search_form(request): if request.method == 'POST': form = SearchForm(request.POST) context = {'form':SearchForm} if form.is_valid(): context = do_search_in_cross_ref(form.cleaned_data) else: cform = SearchForm() context = {'form':cform} return render(request, 'ael/start_page.html', context)
спасибо