you can use a script trigger onRecordCommit (layout setup) to run a script that test the field and in the case is blank dispaly a message and goes to back that field. If OK you commit the record.
in the layout you have to unset "Save record changes automatically"
You can also take an invisible web viewer object, size it to cover your layout body and then move it to the background behind all your layout objects. This will intercept any mouseclicks on the layout background that would otherwise attempt to commit the record.