struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Laurie Harper <>
Subject Re: reset problem for a dynavalidator form
Date Sat, 02 Feb 2008 18:50:54 GMT
On a normal form submit to an action with validation, if validation 
fails, the request is forwarded to the input result and execute() is 
bypassed, yes. So, you have two options:

1) as Dave reiterated, you can put your form reset logic in validate(); 
have your validate method detect the when the reset submit button was 
pressed and, if so, clear the form.

2) use a 'cancel' button as the reset submit. A cancel button will (if 
you configure the action appropriately) bypass validation and call 
directly into your execute() method.

For my money, option 2 is the better approach, since cluttering 
validate() with non-validation concerns smells a bit... :p)


Ashima Beri wrote:
> Hi Laurie,
> Thanks for the quick reply.
> I want to reset the form fields after hitting a reset button.
> When I thought of going about it through the Action class way and tried to
> clear out my form fields , strangely i noticed that the Action class's
> execute method is never called if there are still certain validations
> failing. 
> I read in struts flow explanation that Action class is only called if the
> validations are passed through.
> I dont know what other way to adopt.
> Any suggestions?
> Thanks
> Ashima Beri
> Laurie Harper wrote:
>> Ashima Beri wrote:
>>> Hi,
>>> I am trying to reset a validator form after the form is submitted and a
>>> few
>>> of the validations have failed.
>>> Reset button used in the form clears out fields changed only since the
>>> time
>>> the form is loaded. That is it does just the client side reset. One way
>>> that
>>> i figured out was to submit the form back to the jsp so that the jsp
>>> reloads
>>> with all the form field reinitialized.
>>> Is there some other method of clearing out the form fields after it has
>>> failed the validations defined in validation.xml?
>>> Thanks in advance for all the valuable suggestions!
>>> Ashima Beri
>> Do you want to clear out the form fields before redisplaying the form 
>> after a validation error, or just allow the user to request a reset 
>> after the form is redisplayed?
>> Usually you would want to retain the data the user input after a 
>> validation failure, so they can correct mistakes without having to fill 
>> the entire form in again. If you really want to reset the form to its 
>> starting state before redisplaying, discarding the user's input, then 
>> you would need to do that in your validate() method (remember, if you 
>> don't already have a validate() method, that when you add one it needs 
>> to call super.validate() to trigger the XML-based validation).
>> If you just want to provide a button the user can click to reset the 
>> form, a 'submit' button and round trip through your action is the 
>> correct way to do so. As you've realized, a 'reset' button just tells 
>> the browser to restore the input values it received the last time the 
>> form was loaded.
>> L.
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message