Book Image

Tapestry 5: Building Web Applications

Book Image

Tapestry 5: Building Web Applications

Overview of this book

Table of Contents (17 chapters)
Tapestry 5
Credits
About the Author
About the Reviewers
Preface
Foreword
Where to Go Next

Adding Simple Validation


What we are going to do here is not a robust and universal example of user input validation. However, the benefit of this approach is its extreme simplicity. You can always take it as a starting point and go further, but as for me, the approach is good enough to use it as it is.

Let's say we want the date accepted by the component to be no earlier than a certain limit. Let's add the appropriate parameter to the component's class:

@Parameter
private Date dateFrom;

We can add this parameter in the component's declaration in the page template:

<t:dateinput t:date="theDate" t:id="testDate"
t:dateFrom="lowerLimit"/>

We shall also provide a value for this parameter in the page class, like this:

public Date getLowerLimit()
{
return new Date();
}

We are going to check if the date submitted by the user is no earlier than the current date, and if there is a problem, we are going to ask Tapestry to take appropriate measures. For this, we need to inject a ValidationTracker...