You can try experimenting with 2 things here. The first one is the onblur event. Find out which input is being focused when the addRow() method is executed and use its onblur event handler to prevent leaving the input if the requirements are not satisfied. Or after blur happens and the conditions are not met, re-focus the input using its focus() method.
As for your last question, the grid provides the saveChanges event which is raised when the user initiates save action:
I hope this will prove helpful.
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items