Tracks information related to user input validations. This information is:
- The input values provided by the user.
- Any validation exceptions associated with input fields.
The tracker must differentiate between components (which will implement the {@link Field} interfaces) and fields. Itis a one to many relationship, because each field may be called upon to render itself multiple times within a request, because of {@link Loop} or other similar components.
Internally, the tracker indexes its information in terms of the {@linkplain Field#getControlName() control name} foreach rendering of the component (the mechanics of Tapestry ensures that this is unique within the form).
Validation trackers must be serializable, as they will almost always be stored into the HttpSession.
Trackers are used by only a single form within a single page; they are not threadsafe.