The best way is applying validations to fields. One way is using @Validate. Another one is to use the Bean Validation (JSR 303) annotations by adding tapestry-beanvalidator, which is explained here: http://tapestry.apache.org/bean-validation.html.
In addition, in Tapestry, all form field component trigger a "validate" event before the value is applied to the property.
http://tapestry.apache.org/forms-and-validation.html explains it all. For example, supposing you have a form field with a t:id of "count", you could validate it by declaring an event handler method:
void onValidateFromCount(Integer value) throws ValidationException {
if (value == 13) throw new ValidationException("Thirteen is an unlucky number.");
}