Do you not use validators?
If you listen for the user hitting the tab key, what if they never hit it and just use the mouse to enter another field?
There are loads of good resources online about this.
Actually the users asked specifically that the tab be used to navigate through the input fields as they are used to that logic on their old software. The idea is to use the keyboard as much as possible for speed reasons. If all the fields are valid, the data is added and the focus resets itself on the first field and so on. This way the data entry operator can cycle endlessly on the form.
There's no problem using the tab key as you describe, but there's no need to specifically use it for validation. All you are concerned with is validation when the field loses focus.
Why would resetting the focus be considered a hack? Isn't what you need is to reset the focus explicitly?
If you want to override the tabbing, you will need to extend the DataGrid to allow this.