Form validation in view class
class AuthorCreate(CreateView): ... def form_valid(self, form): data = self.request.POST first_name = data.get('first_name') last_name = data.get('last_name') query = Author.objects.filter( first_name=first_name, last_name=last_name) authors = query.all() if len(authors) > 0: form.errors['input invalid'] = 'Author is already exist.' return self.form_invalid(form) return super(AuthorCreate, self).form_valid(form){{% load dict_key %}} ... <form method="post">{{% csrf_token %}} {{% if form.errors %}} <div class="mt-3 mb-3"> {{%for k in form.errors %}} <div class="text-danger"> {{ form.errors|dict_key:k }} </div> {{% endfor %}} </div> {{% endif %}} ... </form>
Last updated