@ninas basically what is happening initially from what I understand when the form gets rendered initially, the errors defaults to false, then as the user is filling in data if any is wrong the javascript catches this error, however if for some reason the javascript is broken i.e. disabled in the browser, form validation is repeated in the views.py file i.e. `form.validate()` function, if this returns false, the form is re-rendered this time the error defaults to true and the required error message is given (but I could be wrong in that case I will remove it).