Ah. Sloppy me :)
Eelco
On 4/3/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> yes, you missed something:
>
> notice it is using a validation visitor which is defined on top of the
> form.java like so:
>
> /**
> * Visitor used for validation
> *
> * @author Igor Vaynberg (ivaynberg)
> */
> private static abstract class ValidationVisitor implements
> FormComponent.IVisitor
> {
>
> /**
> * @see
> wicket.markup.html.form.FormComponent.IVisitor#formComponent(wicket.markup.html.form.FormComponent
> )
> */
> public void formComponent(FormComponent formComponent)
> {
> if (formComponent.isVisibleInHierarchy() &&
> formComponent.isValid()
> && formComponent.isEnabled() &&
> formComponent.isEnableAllowed())
> {
> validate(formComponent);
> }
> }
>
> -Igor
>
>
>
> On 4/3/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> >
> Actually, that should work. As long as your components are visible in
> the hierarchy. And they probably are, it's just the panels you have to
> set visible.
>
> The interesting thing is that I think we have a bug in the 1.2
> implementation of FormComponent.
>
> Compare this, correct visit of form components:
>
> protected final void updateFormComponentModels()
> {
> visitFormComponents(new
> FormComponent.IVisitor ()
> {
> public void formComponent(final FormComponent
> formComponent)
> {
> // Only update the
> component when it is visible and valid
> if
> (formComponent.isVisibleInHierarchy() &&
> formComponent.isEnabled()
> &&
> formComponent.isValid() && formComponent.isEnableAllowed ())
> {
> // Potentially
> update the model
>
> formComponent.updateModel();
> }
> }
> });
> }
>
> with this, I think incorrect visit:
>
> private void validateRequired()
> {
> visitFormComponents(new ValidationVisitor()
> {
> public void validate(final FormComponent
> formComponent)
> {
>
> formComponent.checkRequired();
> }
> });
> }
>
> (same for conversion and generic validator checks).
>
> Maybe I miss something, but it looks to me someone has been a bit
> sloppy there! :)
>
> Validation *should* only be done for visible components, correct?
>
> Eelco
>
>
> On 4/3/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > no, this will not work. form component's that are not visible are also not
> > updated.
> >
> >
> > -Igor
> >
> >
> > On 4/3/06, Bennett, Timothy (JIS - Applications) <
> > [EMAIL PROTECTED]> wrote:
> > >
> > >
> > > Michael Jouravlev's Wicket Wizard code renders a whole set of panels (as
> > part of the wizard) and then uses a construct like:
> > >
> > > public void updatePanels() {
> > > log.info("--> wizard.updatePanels, step name: " +
> > > (wizard != null ? wizard.getCurrentStepName() :
> "null"));
> > >
> > > for (int i = 0; i < wizardPanels.length; i++) {
> > > wizardPanels[i].setVisible(
> > > wizard != null &&
> > > ("wp"+i).equals(wizard.getCurrentStepName())
> > > );
> > > }
> > > }
> > >
> > >
> > > To set the panel visibility flag for the selected panel... thinking I
> > could use something like this in a modified TabbedPanel component that is
> > form friendly...
> > >
> > >
> > > ________________________________
> > From: [EMAIL PROTECTED]
> > [mailto: [EMAIL PROTECTED] On
> Behalf
> > Of Igor Vaynberg
> > > Sent: Monday, April 03, 2006 12:19 PM
> > > To: [email protected]
> > > Subject: Re: [Wicket-user] Validations and the TabbedPanel
> > >
> > >
> > >
> > > tabbedpanel isnt really meant to be used to cover up form components, so
> > you are right, what you need is a tabbedpanel that uses dhtml instead of a
> > server roundtrip.
> > >
> > > -Igor
> > >
> > >
> > >
> > > On 4/3/06, Bennett, Timothy (JIS - Applications)
> > <[EMAIL PROTECTED]> wrote:
> > > >
> > > >
> > > > Wicketeers,
> > > >
> > > > I'm using the TabbedPanel component in a Wicket 1.1.1 application.
> > Works great in a read-only view mode of my data, but using the TabbedPanel
> > to present a create/edit form for my data is proving to be a bit
> > problematic. One big issue I'm having is that the validators of my form
> > components are only firing for the components that are part of the
> > "currently selected" tab panel. The reason is because the TabbedPanel
> only
> > renders the content of the selected tab, instead of doing some show/hide
> > magic with all the tabbed panels.
> > > >
> > > > Markup for my page looks basically like:
> > > >
> > > > <form wicket:id="form>
> > > > <input wicket:id="save" type="image" src="images/saveBtn.gif"
> > border="0" hspace="6" />
> > > > <input wicket:id="cancel" type="image" src="images/cancelBtn.gif"
> > border="0" value="Cancel" hspace="6" />
> > > > <span wicket:id="tabs" class="tabpanel">[tabbed panel will be
> > here]</span>
> > > > </form>
> > > >
> > > > As you can see, the TabbedPanel is inside a single form. I need
> > validations to fire on all the component in all the tab panels, not just
> the
> > rendered panel. My plan is to extend/modify/evolve the TabbedPanel
> > component to (something like a TabbedFormPanel component) that effectively
> > employs some show/hide magic so that all the panels are available in the
> > form for validation.
> > > >
> > > > Does this sound like the right approach, or am I missing something
> that
> > would be simpler but accomplish the same thing...
> > > >
> > > > Thanks in advance,
> > > >
> > > > Timothy
> > >
> > >
> > >
> >
> >
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live webcast
> and join the prime developer group breaking into this new coding territory!
> http://sel.as-us.falkag.net/sel?cmdlnk&kid0944&bid$1720&dat1642
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user