I took a look at Select component and found the way to record error from
within "afterSubmit" handler. I don't have to fetch Form component (though
it's the way shown in documentation), but I can also inject
ValidationTracker via Environmental and record error there.
BTW, thanx for the tips but I would always first look if some functionality
can be achieved via "normal template" component before reaching for hard
core rendering inside code (render methods) because I think that average
Tapestry user would find this too advanced.
-Vjeran
----- Original Message -----
From: "Thiago H. de Paula Figueiredo" <thiag...@gmail.com>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Friday, July 31, 2009 5:34 PM
Subject: Re: How to fetch Form from within "afterSubmit" handler?
Em Fri, 31 Jul 2009 12:04:32 -0300, Vjeran Marcinko
<vjeran.marci...@email.t-com.hr> escreveu:
Actually you mentioned something that interested me before and is
generalization of the problem I described below.
:)
There are frequent cases when I want to create some "edit" component for
some domain class which on the web page requires more than one HTML form
field. I noticed this AbstractField class, but I always thought it is
only suitable for components that render *only one* HTML form field as
output, and not some multiple HTML form elements.
It's only a matter of how you generate the inputs. ;)
I have not tested, but that's what I'd do:
Take a look at AbstractField.processSubmission(String elementName): you
can generate a div containing the month and year fields.
Give getControlName() + "-month" to the name attribute of the month input
tag. Give getClientId() + "-month" to the id attribute of the month input
tag.
Give getControlName() + "-year" to the name attribute of the year input
tag. Give getClientId() + "-year" to the id attribute of the year input
tag.
protected void processSubmission(String elementName) {
String monthAsString = request.getParameter(elementName + "-month");
String yearAsString = request.getParameter(elementName + "-year");
...
}
Got the idea?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org