I noticed that when you press the button on a get that has action clause it does not fire the valid when you are on other gets.
It seems that it should skip the valid only on it's own get.
Maybe the lCancel for the button should be set when the tget gets the focus from another control and turned off when the tget loses focus to another control.