>Now I have another question... I may want to let the user leave the field that I'm validating with incorrect data _if_ they are hitting the "cancel" button.
Make sure you set the Cancel buttons Cancel property to .T.
Then, in your Valid(), put:
if lastkey() = 27
return .t.
else
endif
because if you press a cancel button, it makes the last key equal to hitting the escape key.