Why is there client side validation before post save?

https://github.com/discourse/discourse/blob/a1a798ac7d004b88064098cf3a38dab24ee25f94/app/assets/javascripts/discourse/app/models/composer.js#L379
Hello,
I am wondering about this cantSubmitPost function. Why does it exist? I saw after patching in a return false and submitting an invalid request, an error modal will show up with the same errors that are shown as popovers when this function runs as usual. Why does this client side error checking need to happen?
Kind Regards,
Spirobel :smiley: