Well, you are receiving these suggestions, because you are experiencing something that shouldn't happen. In all of my forms, if data validation is not met (blank field that is set to "cannot be blank" or custom data validation that is not met), then I am unable to submit or save to the library. I have never experienced what you are seeing. However, it is also true that I hate using the Save button, because that lets the user pick a file name, and I don't like that. I almost always use a custom control button with rules behind it that save the file and provide a unique filename dynamically generated using the now() function to ensure all filenames are unique and so that I can easily overwrite the file upon a later submit without it creating a new file.
Nothing mentioned above requires any amount of code - just basic GUI configuration with rules and data connections.