RE: Preserving user input after form error

2007-11-03 Thread Chris Colman
Ok, I'll do that. The problem probably won't happen in the quickstart
form ;)

 
 why dont you submit a quickstart and then we can figure out why its
 happening
 
 -igor
 
 
 On 11/2/07, Chris Colman [EMAIL PROTECTED] wrote:
  Could it be because the form page is bookmarkable?
 
   thats odd, all the values should be preserved, thats our rawinput
that
   all formcomponents have. Do you have a repeater/listview around
your
   formcomponents.
  
   On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
I've created a form and set up some validators on various
fields.
  When
there is an error and the page is redisplayed showing the errors
  none of
the previous values that the user typed in are there.
   
Is there an easy way to preserve the values already entered by
the
  user?
   
I tried overriding onError but it didn't seem to do get it
working:
   
public final void onError()
{
// update model fields so the user doesn't have to type them
in
again
// - I was hoping that the next page render would get these
//values from the updated model
updateFormComponentModels();
}
   
 
 
-
  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]



RE: Preserving user input after form error

2007-11-03 Thread Chris Colman
Is there a page with guidelines on making a wicket quickstart?

 why dont you submit a quickstart and then we can figure out why its
 happening
 
 -igor
 
 
 On 11/2/07, Chris Colman [EMAIL PROTECTED] wrote:
  Could it be because the form page is bookmarkable?
 
   thats odd, all the values should be preserved, thats our rawinput
that
   all formcomponents have. Do you have a repeater/listview around
your
   formcomponents.
  
   On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
I've created a form and set up some validators on various
fields.
  When
there is an error and the page is redisplayed showing the errors
  none of
the previous values that the user typed in are there.
   
Is there an easy way to preserve the values already entered by
the
  user?
   
I tried overriding onError but it didn't seem to do get it
working:
   
public final void onError()
{
// update model fields so the user doesn't have to type them
in
again
// - I was hoping that the next page render would get these
//values from the updated model
updateFormComponentModels();
}
   
 
 
-
  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]



Re: Preserving user input after form error

2007-11-02 Thread Igor Vaynberg
what servlet container are you using? i think this problem popped up
on weblogic before and was due to a combination of a weblogic bug and
the particular servlet mapping that was used.

does the behavior happen to all form components or just some
particular one? try it without that funky onerror() override.

-igor

On 11/2/07, Chris Colman [EMAIL PROTECTED] wrote:
  can you make sure your servlet mapping is of form /foo/*
 
  -igor

 Yes it's of that form.


 -
 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]



RE: Preserving user input after form error

2007-11-02 Thread Chris Colman
 can you make sure your servlet mapping is of form /foo/*
 
 -igor

Yes it's of that form.


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



RE: Preserving user input after form error

2007-11-02 Thread Chris Colman
 what servlet container are you using? i think this problem popped up
 on weblogic before and was due to a combination of a weblogic bug and
 the particular servlet mapping that was used.

Tomcat 5.5.20

 
 does the behavior happen to all form components or just some
 particular one?

All components don't preserve their values.

 try it without that funky onerror() override.

I commented out the funky onerror() override and the problem still
exists.

H, getting curiouser and curiouser!

 
 -igor
 
 On 11/2/07, Chris Colman [EMAIL PROTECTED] wrote:
   can you make sure your servlet mapping is of form /foo/*
  
   -igor
 
  Yes it's of that form.
 
 
 
-
  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]



RE: Preserving user input after form error

2007-11-02 Thread Chris Colman
Could it be because the form page is bookmarkable?

 thats odd, all the values should be preserved, thats our rawinput that
 all formcomponents have. Do you have a repeater/listview around your
 formcomponents.
 
 On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
  I've created a form and set up some validators on various fields.
When
  there is an error and the page is redisplayed showing the errors
none of
  the previous values that the user typed in are there.
 
  Is there an easy way to preserve the values already entered by the
user?
 
  I tried overriding onError but it didn't seem to do get it working:
 
  public final void onError()
  {
  // update model fields so the user doesn't have to type them in
  again
  // - I was hoping that the next page render would get these
  //values from the updated model
  updateFormComponentModels();
  }
 

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



Re: Preserving user input after form error

2007-11-02 Thread Igor Vaynberg
why dont you submit a quickstart and then we can figure out why its happening

-igor


On 11/2/07, Chris Colman [EMAIL PROTECTED] wrote:
 Could it be because the form page is bookmarkable?

  thats odd, all the values should be preserved, thats our rawinput that
  all formcomponents have. Do you have a repeater/listview around your
  formcomponents.
 
  On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
   I've created a form and set up some validators on various fields.
 When
   there is an error and the page is redisplayed showing the errors
 none of
   the previous values that the user typed in are there.
  
   Is there an easy way to preserve the values already entered by the
 user?
  
   I tried overriding onError but it didn't seem to do get it working:
  
   public final void onError()
   {
   // update model fields so the user doesn't have to type them in
   again
   // - I was hoping that the next page render would get these
   //values from the updated model
   updateFormComponentModels();
   }
  

 -
 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]



Re: Preserving user input after form error

2007-11-01 Thread Johan Compagner
thats odd, all the values should be preserved, thats our rawinput that
all formcomponents have. Do you have a repeater/listview around your
formcomponents.

On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
 I've created a form and set up some validators on various fields. When
 there is an error and the page is redisplayed showing the errors none of
 the previous values that the user typed in are there.

 Is there an easy way to preserve the values already entered by the user?

 I tried overriding onError but it didn't seem to do get it working:

 public final void onError()
 {
   // update model fields so the user doesn't have to type them in
 again
   // - I was hoping that the next page render would get these
   //values from the updated model
   updateFormComponentModels();
 }

 -
 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]



RE: Preserving user input after form error

2007-11-01 Thread Chris Colman
 thats odd, all the values should be preserved, thats our rawinput that
 all formcomponents have. Do you have a repeater/listview around your
 formcomponents.
 

Hmmm, I don't know why my form doesn't preserve it. Here's the source of
the form. Can you spot anything that I'm doing wrong?

// -[KeepHeading]-


// -[Copyright]-

/**
 * (c) 2007. Step Ahead Software. All rights reserved.
 * 
 * Source file created and managed by Javelin (TM) Step Ahead Software.
 * To maintain code and model synchronization you may directly edit code
in method bodies
 * and any sections starting with the 'Keep_*' marker. Make all other
changes via Javelin.
 * See http://stepaheadsoftware.com for more details.
 */
package com.sas.av.ui.wicket.templates.original;

import java.lang.*;
import com.sas.av.ui.wicket.templates.original.StandardPage;

import com.sas.av.model.context.EServerContext;


// -[KeepBeforeClass]-
import com.sas.av.ui.wicket.templates.*;

import wicket.PageParameters;
import wicket.markup.html.basic.Label;
import wicket.markup.html.form.*;
import wicket.markup.html.panel.*;
import wicket.util.string.*;
import wicket.model.*;

import wicket.model.PropertyModel;

import wicket.markup.html.image.*;
import wicket.extensions.markup.html.captcha.*;

import java.lang.*;
import java.util.Random;



// -[Class]-

/**
 * Information Request Page.
 * 
 * @author Chris Colman
 */
public 
class InformationRequestPage extends StandardPage
{
// -[KeepWithinClass]-


// inner class form:

public final class InformationRequestForm extends Form
{
  private final InformationRequest infoRequest =
new InformationRequest();

// CAPTCHA Challenge
  private String captchaValue = generateCaptchaValue();
  private String captchaInput = new String(fred);
public String getCaptchaInput() {return captchaInput;}
public void setCaptchaInput(String iCaptchaInput)
{ captchaInput = iCaptchaInput; }
  public String generateCaptchaValue()
{ return
Integer.toString(random.nextInt(200)+100); }
private Image captchaImage = new Image(captchaImage);
private CaptchaValidator captchaValidator;

  public InformationRequestForm(final String iId)
  {
super(iId);

add(new TextArea(name, new PropertyModel(infoRequest,
name)).setRequired(true));
add(new TextArea(company, new
PropertyModel(infoRequest, company)));
add(new TextArea(phone, new PropertyModel(infoRequest,
phone)));
add(new TextArea(email, new PropertyModel(infoRequest,
email)).setRequired(true));
add(new TextArea(comments, new
PropertyModel(infoRequest, comments)));

TextField captchaField = new TextField(captcha, new
PropertyModel(this, captchaInput));
captchaValidator = new CaptchaValidator(captchaValue);
captchaField.add(captchaValidator);
add(captchaField);
 
refreshCapture();
add(captchaImage);
}

public final void onError()
{
super.onError();

// update model fields so the user doesn't have to 
// type them in again
updateFormComponentModels();
refreshCapture();
}

public void refreshCapture()
{
captchaValue = generateCaptchaValue();  
CaptchaImageResource captchaImageResource = new
CaptchaImageResource(captchaValue, 80, 5); 
captchaImage.setImageResource(captchaImageResource);
captchaValidator.setCaptchaValue(captchaValue);
}


public final void onSubmit()
  {
StringBuffer sb = new StringBuffer();
sb.append(Name  + infoRequest.getName());

PageParameters pageParameters = new PageParameters();

// set up parameters
...

setResponsePage(
InformationRequestAckPage.class,
pageParameters);
 }
}


// -[Fields]-



/**
 * A random object!
 */
public static transient Random random = new Random();


// -[Methods]-




/**
 * Constructs the object
 */
public InformationRequestPage()



{
}

/**
 * 
 */
public InformationRequestPage(final PageParameters parameters)
  throws StringValueConversionException
{
super(parameters);

add(new FeedbackPanel(feedback));
add(new InformationRequestForm(informationRequest));
}

}



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



RE: Preserving user input after form error

2007-11-01 Thread Chris Colman
Oh yeah, I'm using Wicket 1.2.6 if that has any bearing on the
situation.

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



Re: Preserving user input after form error

2007-11-01 Thread Johan Compagner
i dont know what goes wrong then for you because  if i test this:

http://wicketstuff.org/wicket12/forminput/

that that works fine. If you make a validation error on 1 the rest keep
there values.




On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:

 Oh yeah, I'm using Wicket 1.2.6 if that has any bearing on the
 situation.

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




RE: Preserving user input after form error

2007-11-01 Thread Chris Colman
 i dont know what goes wrong then for you because  if i test this:
 
 http://wicketstuff.org/wicket12/forminput/
 
 that that works fine. If you make a validation error on 1 the rest
keep
 there values.


The only difference I can see so far is that my form page is an
'extended' page where the form component is added in mark up inside a

wicket:extend
... form sits in here ...
/wicket:extend

construct. 

 
 On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
 
  Oh yeah, I'm using Wicket 1.2.6 if that has any bearing on the
  situation.
 
 
-
  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]



Re: Preserving user input after form error

2007-11-01 Thread Igor Vaynberg
can you make sure your servlet mapping is of form /foo/*

-igor


On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
  i dont know what goes wrong then for you because  if i test this:
 
  http://wicketstuff.org/wicket12/forminput/
 
  that that works fine. If you make a validation error on 1 the rest
 keep
  there values.


 The only difference I can see so far is that my form page is an
 'extended' page where the form component is added in mark up inside a

 wicket:extend
 ... form sits in here ...
 /wicket:extend

 construct.


  On 11/1/07, Chris Colman [EMAIL PROTECTED] wrote:
  
   Oh yeah, I'm using Wicket 1.2.6 if that has any bearing on the
   situation.
  
  
 -
   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]



Re: Preserving user input after form error

2007-11-01 Thread Timo Rantalaiho
On Fri, 02 Nov 2007, Chris Colman wrote:
   private String captchaInput = new String(fred);

private String captchaInput = fred;

   public final void onError()
   {
   super.onError();
   
   // update model fields so the user doesn't have to 
   // type them in again
   updateFormComponentModels();
   refreshCapture();
   }

This is suspicious.

If I understand correctly, Wicket manipulates form component
input via three diffferent phases:

  1) raw input: directly from the HTTP request
  2) converted input: raw input converted to objects
  3) model: converted input set to models of FormComponents

onError might get called before raw input could be converted,
for example when entering text to an HTML field bound to a 
numeric java field. And if you then update the model values
from (empty) converted input, the HTML input fields might 
display the new, empty values instead of the preserved 
raw input.

I might be wrong as welll and suggest you to dig in the source
code and/or debug to see what really happens.

Best wishes,
Timo


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