Record validation should be done in the forms Before Update event because that event always fires, as its name would suggest, just before the record is saved. In that event the update can be cancelled if the validation fails. The only code you need for the "Save" button would be something to make the record update. Something like:
Code:
If Me.Dirty Then
Me.Dirty = False
End If
I would not bother with a "Save" button. IMHO it serves no real purpose. When the user does something to close the form or move to another record Access will automatically save the the record and the forms Before Update event will fire.