An HTML form, which will enclose other components to render out the various types of fields.
A Form emits many notification events. When it renders, it fires a {@link org.apache.tapestry5.EventConstants#PREPARE_FOR_RENDER} notification, followed by a{@link EventConstants#PREPARE} notification.
When the form is submitted, the component emits several notifications: first a {@link EventConstants#PREPARE_FOR_SUBMIT}, then a {@link EventConstants#PREPARE}: these allow the page to update its state as necessary to prepare for the form submission, then (after components enclosed by the form have operated), a {@link EventConstants#VALIDATE} event is emitted (followed by a {@link EventConstants#VALIDATE_FORM} event, forbackwards compatibility), to allow for cross-form validation. After that, either a {@link EventConstants#SUCCESS} OR{@link EventConstants#FAILURE} event (depending on whether the {@link ValidationTracker} has recorded any errors).Lastly, a {@link EventConstants#SUBMIT} event, for any listeners that care only about form submission, regardless ofsuccess or failure.
For all of these notifications, the event context is derived from the
context parameter. This context is encoded into the form's action URI (the parameter is not read when the form is submitted, instead the values encoded into the form are used).