Eelco, What was your usecase for versioning the immediate property of a button? I think it would have been simpler to have a getter that can be overwritten in an anonymous subclass.
Igor > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Eelco Hillenius > Sent: Sunday, July 10, 2005 9:22 AM > To: [email protected] > Subject: Re: [Wicket-develop] [ wicket-Bugs-1220639 ] form > processing could be better defined > > I reworked the form handling. I didn't come up with a new > strategy class, as I think that would only make things > fuzzier. I see no added value in being able to provide a > seperate extension mechism where most of Wicket works with > overriding the components themselve. For that reason, I also > got rid of IFormValidationStratey. Also, I removed > IFormValidator (which I introduced a couple of weeks ago in 1.1). > IFormValidator on itself was not a bad idea I think, but too > many possible strategies on it's usage exists, thus making > form processing more difficult to understand (should those > validators be executed before or after updating the models, > and in the latter case, should the > model(s) be rolled back in case any validator reported an error?). > > Here's the current documentation of Form: > > Base class for forms. To implement a form, subclass this > class, add FormComponents (such as CheckBoxes, ListChoices or > TextFields) to the form. You can nest multiple buttons if you > want to vary submit behaviour. However, it is not nescesarry > to use Wicket's button class, just putting e.g. <input > type="submit" value="go"> suffices. > > # By default, the processing of a form works like this: The > submitting button is looked up. A submitting button is a > button that is nested in this form (is a child component) and > that was clicked by the user. If a submitting button was > found, and it has the immediate field true (default is > false), it's onSubmit method will be called right away, thus > no validition is done, and things like updating form > component models that would normally be done are skipped. In > that respect, nesting a button with the immediate field set > to true has the same effect as nesting a normal link. If you > want you can call validate() to execute form validation, > hasError() to find out whether validate() resulted in > validation errors, and updateFormComponentModels() to update > the models of nested form components. > # When no immediate submitting button was found, this form is > validated (method validate()). Now, two possible paths exist: > > * Form validation failed. All nested form components will > be marked > valid, and onError() is called to allow clients to > provide custom > error handling code. > * Form validation succeeded. The nested components will > be asked to > update their models and persist their data is applicable. After > that, method delegateSubmit with optionally the > submitting button > is called. The default when there is a submitting button is to > first call onSubmit on that button, and after that call onSubmit > on this form. Clients may override delegateSubmit if they want > different behaviour. > > Please experiment with it (note that it will take a few hours > before annonymous cvs is synced), and as allways, comments > are welcome! > > Eelco > > > Eelco Hillenius wrote: > > > Good idea. > > > > Eelco > > > > Igor Vaynberg wrote: > > > >>> 3. One of the things I wanted to tackle with this issue was that > >>> code like updating form components in a validate method > doesn't make > >>> much sense. The whole processing should be broken up in clearer > >>> steps with methods that fit them, I'd like to see whether > >>> IFormValidationStrategy still suffices and we may need to > provide a > >>> couple of call back/ template methods so that users can > 'intercept' > >>> in the form processing. > >>> I'm still thinking about the best way, but jet lag strikes again. > >>> > >> > >> > >> How about renaming IFormValidationStrategy into > >> IFormProcessingStrategy and having validation as part of > that. That > >> will clean things up since validation is part of processing. > >> > >> Igor > >> > >> > >> > >> > >> ------------------------------------------------------- > >> SF.Net email is sponsored by: Discover Easy Linux Migration > >> Strategies from IBM. Find simple to follow Roadmaps, > straightforward > >> articles, informative Webcasts and more! Get everything > you need to > >> get up to speed, fast. > >> http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > >> _______________________________________________ > >> Wicket-develop mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/wicket-develop > >> > >> > > > > > > > > ------------------------------------------------------- > > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies > > from IBM. Find simple to follow Roadmaps, straightforward articles, > > informative Webcasts and more! Get everything you need to get up to > > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > > _______________________________________________ > > Wicket-develop mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/wicket-develop > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the 'Do More With Dual!' > webinar happening July 14 at 8am PDT/11am EDT. We invite you > to explore the latest in dual core and dual graphics > technology at this free one hour event hosted by HP, AMD, and > NVIDIA. To register visit http://www.hp.com/go/dualwebinar > _______________________________________________ > Wicket-develop mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/wicket-develop > > > ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
