i'm using 5.0.6-SNAPSHOT and exprience some strange behaviour
on properties with @Persist("flash"). if i hit ctrl+r (page reload) the 
properties are not set back properly and therefore their value remains.

... but i have to check whether this is an error on my side

i'll report back when i finished my sample form and did some testing

g,
kris




Nick Westgate <[EMAIL PROTECTED]> 
16.10.2007 13:37
Bitte antworten an
"Tapestry users" <users@tapestry.apache.org>


An
Tapestry users <users@tapestry.apache.org>
Kopie

Thema
Re: T5: refreshing page when there is an error






Hmm, I'm seeing the same thing, although I only have an old T5.0.5 project
to play with at the moment. This will take some looking into.

Kris are you getting this behaviour?

Cheers,
Nick.


Angelo Chen wrote:
> Hi Nick,
> 
> refreshing without a submit was my original question, but after applying
> clearErrors(), I meant form fields got cleared while the error was 
displayed
> under onValidate(), anyway I have tried your approach (b), here is the
> result:
> 
> When I did :
>  public void onValidate() throws EncoderException {
>       _form.recordError("Email address invalid");
> 1.
>    It displays error, and if I quit the browser and re-open the page, 
error
> is gone, good. when I switch to other page then come back to the 
original
> page, error is gone, good. when I click 'refresh', error remains, why?
> 
> 2. I let "t:validate="required,minlength=8" emits some errors into the 
same
> form, then click 'refresh', those new errors got erased, but the error 
in #1
> remains, anyway to clear them totally?
> 
> 
> 
> 
> 
> Nick Westgate wrote:
>> You mean refreshing without a submit, right? So onValidate isn't
>> called in that case - only when the form submits. You can clear
>> the form errors in an event handler, but realistically this can
>> become problematic ...
>>
>> It's likely that the behaviour you want can be provided by:
>>
>> (a) copying and changing Form - see (b)
>>
>> or
>>
>> (b) deriving from Form and flash persisting the ValidationTracker:
>>
>> package yourapp.tapestry.components;
>>
>> import org.apache.tapestry.ValidationTracker;
>> import org.apache.tapestry.ValidationTrackerImpl;
>> import org.apache.tapestry.annotations.Persist;
>>
>> public class Form extends org.apache.tapestry.corelib.components.Form
>> {
>>      @Persist("flash")
>>      private ValidationTracker defaultTracker;
>>
>>      @Override
>>      public ValidationTracker getDefaultTracker()
>>      {
>>          if (defaultTracker == null)
>>              defaultTracker = new ValidationTrackerImpl();
>>
>>          return defaultTracker;
>>      }
>>
>>      @Override
>>      public void setDefaultTracker(ValidationTracker defaultTracker)
>>      {
>>          this.defaultTracker = defaultTracker;
>>      }
>> }
>>
>> Cheers,
>> Nick.
>>
>>
>> Angelo Chen wrote:
>>> Hi Howard,
>>>
>>> What is the right spot to use clearErrors()? I have code as follow:
>>>  public void onValidate() throws EncoderException {
>>>         _form.clearErrors(); 
>>>         // more validates...
>>> }
>>>
>>> if there is a previous error, it will be cleared, but if there is a 
new
>>> error, all the fields are cleared as well, any hints?
>>>
>>>
>>> Howard Lewis Ship wrote:
>>>> Form has a clearErrors() method.
>>>>
>>>> On 10/15/07, Angelo Chen <[EMAIL PROTECTED]> wrote:
>>>>> Hi,
>>>>>
>>>>> I notice that when an error is recorded thru recordError, refreshing
>>>>> the
>>>>> form will not erase the error messages unlike when form was rejected 
by
>>>>> validator where pressing refresh in the browser can errase the 
errors
>>>>> and
>>>>> go
>>>>> back to the initial form screen, here is the code
>>>>> public void onValidate() throws EncoderException {
>>>>> _form.recordError("test error");
>>>>> }
>>>>>
>>>>> if this error is shown in the form, it will be there forever even 
you
>>>>> restart the browser, any hint?
>>>>> A.C.
>>>>> --
>>>>> View this message in context:
>>>>> 
http://www.nabble.com/T5%3A-refreshing-page-when-there-is-an-error-tf4627982.html#a13214217

>>>>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> 
---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>> -- 
>>>> Howard M. Lewis Ship
>>>> Partner and Senior Architect at Feature50
>>>>
>>>> Creator Apache Tapestry and Apache HiveMind
>>>>
>>>>
>> ---------------------------------------------------------------------
>> 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