>> Yup. It's by design....the Valid is supposed to do just that...validate.
>> Jumping to a different field is not a validation problem.
>and the When is to 'whenidate' I guess.
When Event:
this.tag = this.value {STR(this.value), DTOC(this.value), etc.}
Valid Event:
luRetVal = .T.
IF this.tag != this.value
{do event here}
ENDif
RETURN luRetVal