On Thu, Apr 9, 2009 at 8:11 PM, Howard Lewis Ship <hls...@gmail.com> wrote:

> The events triggered by the default components used by the BeanEditor
> can't be caught: those components are rendered from other pages, they
> aren't part of your page hierarchy, so component events bubble up on
> the other page hierarchy.
>
> In addition, the client element ids are documented, but the component
> ids are part of the implementation of BeanEditor or, more
> specifically, the contributions to the BeanBlockSource service.
>
> In other words, the TextField component that edits the backgroundURL
> field is component  core/PropertyEditBlocks:textField, so any events
> would have to be caught by PropertyEditBlocks, not your class.
> Further, the exact same component, configured differently each time,
> will be used to edit every property in your for that's data type is
> "text".
>

Hmm.  I think I'd need to dig farther into Tapestry and the core components
to really understand that completely.  I hear the words, but I'm not
attaching meaning to all of them yet.  The idea that components on my form
are being rendered from other pages doesn't mesh with my undoubtedly limited
understanding of Tapestry.

Trying my best to gloss over the parts I don't understand and extrapolate
from the parts that I think I might ... I believe you're saying that I can't
add totally custom validation via event handling to fields that are
generated by BeanEditor or BeanEditForm, and that I can either live with
form-level validation (e.g. onValidateForm), or, alternately, use my own
full form rather than BeanEdit*?

  - Geoffrey
-- 
Geoffrey Wiseman
http://www.geoffreywiseman.ca/

Reply via email to