What is the purpose of CANCEL SUBMIT?

What is the purpose of CANCEL SUBMIT?

I have been researching the Alert command for use in a script.

The documentation says the syntax is 

alert "type your message here!";
cancel submit;

But you can only use Alerts on "Validate, on Load, on User Input" and you can't use cancel submit on "On Load or On User Input" BUT you HAVE to use cancel submit on "On Validate" or else "On Validate" will ignore it.

AND when you use it with "On Validate" you don't get a pop-up box with your alert message and the option to "cancel" the submission or continue and "submit" INSTEAD you get a generic "Invalid Entry" pop-up message with an "OK" button and your alert message in red type on the form...BUT NO OPTION TO CANCEL OR SUBMIT!?

There seems to be something bordering on the absurd here! What am I missing?

I am trying to write this script to the "On Validate" of my form:

  1. if(((input.Email  !=  null)  &&  (input.Contact_By.toString()  !=  "Email")))
  2. {
  3.     alert "The Email field has been filled in but the Contact By field is not set to Email!";
  4.     Cancel Submit;
  5. }
I want the user to have a choice to either cancel and make changes to their entry or submit it as entered. But as written in the On Validate I get the Invalid Entry message as previously described.