Concept Flow - Custom form validation methods
Start form submission
Call form.is_valid()
Run built-in validations
Run custom clean_<field>() methods
Run form's clean() method
Collect errors or accept data
Return validation result
When a form is submitted, Django runs built-in checks, then custom field validations, then overall form validation before accepting or rejecting data.