Hi, 
To keep all your validation in onValidateForm, I something like this. 
 String onValidateForm()
{
       if(userName == null )
   {
       form.recordError(usernameField, "Needs a Username")
  }

       if(password == null )
     {
          form.recordError(passwordField, "Please Enter a password")
       }

if(!form.getHasErrors()) {
        if (!authenticator.isValid(userName, password))
        {
            form.recordError(passwordField, "Invalid user name or
password.");
          
        }
       else 
      {
            //set applicationstate user object 
     }
}
   
 }

 Object onSuccess()
    {
          //here you can return whatever page you forward after login.

          return IndexPage;
    }


Benny Law wrote:
> 
> Hi Onno,
> 
> I am all for clean and maintainable code, and that's why I think
> ValidateForm can be cleaner if I didn't need to check for field errors
> first.
> 
> On the main Tapestry 5.1 page, the Login example calls the authenticator
> in
> onValidateForm, but the same example in the User Guide under Input
> Validation does that in onSuccess. I think the latter is correct; the
> former
> won't work properly because it acts on the properties bound to the fields
> which may not reflect the current field contents if there are field
> validation errors. To fix the first example, some code needs to be added
> to
> onValidateForm to check if the fields have passed field-level validations
> before invoking the authenticator.
> 
> I hope this clarifies what I am thinking. Thanks.
> 
> Benny
> 
> On Mon, Aug 31, 2009 at 4:57 AM, Onno Scheffers <o...@piraya.nl> wrote:
> 
>> > Thanks for your response. Could you explain what you mean by keeping my
>> > validation "in the correct callback"?
>>
>>
>>
>> I think it's about writing clean and maintainable code.
>> For other developers reading back your code it makes more sense if you
>> add
>> your validation errors in the ValidateForm event and to perform some
>> (database?) action in the success handler.
>>
>> The ValidateForm event is where validation errors are added and some of
>> them
>> are automatically taken care of for you by the Tapestry validator
>> mechanism.
>> If you don't want to add more than one error-message, you can easily
>> check
>> if the field is in error already.
>> Sometimes it also makes sense to add mutiple errors per field since
>> you're
>> telling the user immediately what (s)he's doing wrong instead of having
>> them
>> re-submit again only to find yet another validation error on the same
>> field.
>>
>>
>> regards,
>>
>> Onno
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ValidateForm-Event-tp25205192p25226000.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to