This drove me crazy for about 30 minutes.

If you’re making a heavily customized form template with Django, the newforms documentation suggests this format:

But, if you do any sort of non-field specific (form-level) validation, those validation messages won’t be returned to the user. So, instead of seeing a message like, “Both password fields must match,” the form just reloads without a explanation, confusing our poor end-users (and me for about 30 minutes)!

A quick #django IRC session later and I had the answer: form.non_field_errors

This did the trick for me:

I’m no professional developer, but a lack of Google search results for this matter inspired me to make a quick post and tag it well so future Django form template customizers don’t pull their hair out.

(Sorry to post the code as images, but [hosted] WordPress doesn’t escape HTML enclosed in code blocks! Ridiculous.)



4 Responses to “Making a complex customized Django form template? Remember to include form.non_field_errors!”  

  1. 1 Julius

    I didn’t even know IRC was still around. Nice.

  2. 2 narutoindisguise

    Thats awesome, I never knew it before untill today. Great job. :)

  3. 3 Tyler Bye

    Bit by this just this morning. Appreciate the post. I’m using Form Wizard and a custom layout to accomplish some mid wizard ajax validation. This post hit the spot on the form validation errors I was hitting.

    Thanks!

  4. 4 Aral Balkan

    Thanks for posting this, it helped me out :)

Leave a Reply