Thanks, this works, at least when calling this on the entire form object.

Still I think this is a bit strange since it is a new request, after
pressing the link. By that time the error message is also gone, while
the form stays with these old values.


Rutger


On 12/10/08, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> call clearinput() on the textfield from your link. formcomponents hold
> on to the values entered by user if there is an error so the erroneous
> values can be redisplayed when the form is redrawn.
>
> -igor
>
> On Wed, Dec 10, 2008 at 7:11 AM, Rutger Jansen <[EMAIL PROTECTED]> wrote:
>> Sorry for the misunderstanding. But it's not a submit button, just a
>> link for editing. The onSubmit is not called there.
>>
>> The form also has a button that does submit the form.
>>
>> I see in debug mode that the link is correctly called and that the
>> model object is correctly updated, also when problem occurs after the
>> validation error.
>>
>> On 12/10/08, Gerolf Seitz <[EMAIL PROTECTED]> wrote:
>>> don't know if i totally understood the setting of your example, but
>>> your edit button shouldn't submit/post the form, eg. just use  a Link
>>> attached to an <input type="button"> tag instead of a Button.
>>>
>>>   Gerolf
>>>
>>> On Wed, Dec 10, 2008 at 1:11 PM, Rutger Jansen <[EMAIL PROTECTED]> wrote:
>>>
>>>> Well this is of course a simple example.
>>>> In my case I have an administration page with a list of domain
>>>> objects, lets say cheeses (how did I come up with that idea?).
>>>>
>>>> On the same page I have a form with all fields of the cheese object
>>>> (name and kiloPrice for example). Behind each cheese in the list there
>>>> is an  'edit' button which will set that specific cheese object as a
>>>> the current model object in the form, which results in the name and
>>>> kiloPrice field in the form being filled with the values of the
>>>> cheese.
>>>>
>>>> If then, for some reason the validation of a form post fails (the
>>>> price is too high for this Gouda), and I (as an end user) decide to
>>>> skip editing this Gouda cheese and press the edit button of the
>>>> Cheddar cheese, the form will not be updated with the name and price
>>>> of the Cheddar. The values of the Gouda remain. Even though the
>>>> current object in the model was updated to Cheddar.
>>>>
>>>> When I now press the submit button again (after putting a correct
>>>> price in the field), the Cheddar object is updated with the values of
>>>> the Gouda (which were still in the formfields).
>>>>
>>>> I can make a bigger example like this if needed.
>>>>
>>>>
>>>> On 12/10/08, Martijn Dashorst <[EMAIL PROTECTED]> wrote:
>>>> > Why on earth would you want to update a model value when there's a
>>>> > validation error in the input? That is the whole point of validation!
>>>> >
>>>> > Martijn
>>>> >
>>>> > On Wed, Dec 10, 2008 at 10:44 AM, Rutger Jansen <[EMAIL PROTECTED]>
>>>> wrote:
>>>> >> Hi,
>>>> >>
>>>> >> I have a strange situation in the admin part of my application which
>>>> >> I
>>>> >> have reproduced in this tiny code example.
>>>> >>
>>>> >> In this example I can load a value in the textfield by clicking the
>>>> >> link (which also increases the number to show that the link works
>>>> >> ok).
>>>> >> I can post the form without problems and load the value again.
>>>> >> But when a validation error occurs (in this case when the posted
>>>> >> value
>>>> >> is too long), the field will not be updated after pressing the link
>>>> >> (even though the log shows that the link is clicked), unless I post
>>>> >> the form again without validation errors.
>>>> >>
>>>> >> Am I forgetting something here?
>>>> >>
>>>> >>
>>>> >> Rutger
>>>> >>
>>>> >>
>>>> >> --- Example page class---
>>>> >> public class Example extends WebPage {
>>>> >>
>>>> >>  private String value;
>>>> >>  private int valueVersion = 1;
>>>> >>
>>>> >>  public Example() {
>>>> >>    Form form = new Form("form");
>>>> >>
>>>> >>    TextField textfield = new TextField("textfield", new
>>>> >> PropertyModel(Example.this, "value"));
>>>> >>    textfield.add(StringValidator.maximumLength(15));
>>>> >>    form.add(textfield);
>>>> >>
>>>> >>    add(form);
>>>> >>    add(new FeedbackPanel("feedback"));
>>>> >>
>>>> >>    add(new Link("link"){
>>>> >>      @Override
>>>> >>      public void onClick() {
>>>> >>        value = "This is a test" + valueVersion++;
>>>> >>      }
>>>> >>    });
>>>> >>  }
>>>> >> }
>>>> >>
>>>> >> --- Example html ---
>>>> >> <html xmlns="http://www.w3.org/1999/xhtml";
>>>> >> xmlns:wicket="http://wicket.sourceforge.net/";>
>>>> >> <head></head>
>>>> >> <body>
>>>> >>  <div wicket:id="feedback" />
>>>> >>
>>>> >>  <form wicket:id="form">
>>>> >>    <input type="text" wicket:id="textfield"/>
>>>> >>    <input type="submit" />
>>>> >>  </form>
>>>> >>
>>>> >>  <p><a href="#" wicket:id="link">Load form value</a></p>
>>>> >> </body>
>>>> >> </html>
>>>> >>
>>>> >> ---------------------------------------------------------------------
>>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Become a Wicket expert, learn from the best: http://wicketinaction.com
>>>> > Apache Wicket 1.3.4 is released
>>>> > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>> >
>>>> >
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to