You're note explaining how you do the validation. If you have the validation set on the field definition itself, take it off there and add it to the OnValidate event. That will give you full control. But the downside is that you have to add it to all the layouts that the users can change the field on.
I'm currently using on object exit. Maybe I should use validate and then return false. I forgot about that option until just now.
OnExit fires after OnModify, OnValidate, OnSave... so you need to make sure you understand what each one does and handle what you need handling on the right event. The price is mayhem
Event handling carries enormous power and enormous responsibilty....