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: wicket-user@lists.sourceforge.net > > > 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 > Wicket-user@lists.sourceforge.net > 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 Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user