This is not respected when going through the BusinessBindingSource in most cases. This has to do with the nature of a grid and how the interaction to stop navigation would actually take place if there were in fact an error.
I was assuming that setting CheckCurrentRowBeforeNavigate to True would cause a rule check when I moved between rows in a grid however my rule only fired when I tried to save a change. I've tried this with a DevExpress and a standard Data Grid and the behaviour is the same.
Is there something else I need to do to check business rules before the user presses Save?
Cheers, Peter