in beforeSubmit you'd just test for the data validity and if it's "bad" then add a "throw nlapiCreateError()" call. That prevents the save and you can give the user a message why it failed and suppress the email notification that normally occurs for errors. Just found the SuiteAnswer I was looking for - 63290.