use our own validation
make sure validate is called on watch
tpdescription