People generally use an "Add" button to go to a new, empty record rather than to save the record they just updated/added. This process automagically saves the current record if it is dirty. If for some reason, you want the updated record to be saved but not close the form or advance to a new record, add a button labeled simply "Save" and use DoCmd.RunCommand acCmdSaveRecord to save the current record and stay on it. This will cause your validation code in the Form's BeforeUpdate event to run and give you any error messages. If no errors, the event proceeds to save the record. If your code finds errors, you display an appropriate error message, set Cancel = True and exit the event to leave the record dirty and allow the user to correct it.
The two buttons allow the same form to work logically for both Add and Save operations. But, as George mentioned, Access has your back here. You don't need custom buttons when the form is programmed to save any record that is dirty. It isn't saving a record that new people have trouble with, it is stopping Access from saving that becomes problematic. For that, you need to understand how to control the save by using validation code in the Form's BeforeUpdate event. That gives you total control. Save or don't save. YOU decide.