Validators

Here we demonstrate Bean Validation, using the page as a bean. We annotated the page's properties
firstName and lastName with JSR 303's @NotNull and @Size.

First Name

(not null, size max = 10)

Last Name

(not null, size max = 10)

All bean validations have a server-side implementation, and most (or all?) have a client-side implementation.
If the form passes client-side validation, then it is sent to the server, where it is validated again.
To turn off client-side validation programatically, set Form's clientValidation parameter.

Bean Validation is not in Tapestry's corelib. To use it, add the following jars to the classpath:

tapestry-beanvalidator-5.4.n.jar, for compile and runtime.

a JSR 303 implementation, such as hibernate-validator-4.3.1.Final.jar, for runtime.
It can be provided by the runtime environment.