Introduction
This chapter builds upon the knowledge we gained in Chapter 6, Forms, where we learned how to submit data from an HTML form to a Django view, both with a manually built HTML form and with a Django form. We used Django's form
library to build and automatically validate forms with basic validation. For example, now we can build forms that check whether a date is entered in its desired format, whether a number is input where a user must enter their age, and whether a dropdown is selected before the user clicks the Submit
button. However, most large-scale websites require validation that is a bit more advanced.
For instance, a certain field might only be required if another field is set. Let's say we want to add a checkbox to allow users to sign up for our monthly newsletter. It has a textbox below it that lets them enter their email address. With some basic validation, we can check whether:
- The user has checked the checkbox.
- The user has entered their...