Looks great! Thanks.

On Sep 15, 9:10 pm, Ben Bangert <[EMAIL PROTECTED]> wrote:
> On Sep 15, 2007, at 5:10 AM, Леонид Моргун wrote:
>
> > I'm using pylons-0.9.6, formencode-0.7.1-r1
>
> > I try to validate controller with form:
>
> > -----------------------------------------------------
> > @validate(schema=...,form='register')
> > def register(self):
> >    if not hasattr(self,'form_result'):
> >            return render('/register.myt')
> >    ... do something with form_result...
> >    return redirect_to('/redistered_ok')
> > -----------------------------------------------------
>
> Right, the form should refer to a *different* action that handles
> rendering the original page.
>
> > -----------------------------------------------------
> > def register(self):
> >    return render(...
>
> > @validate(schame=....,form='register')
> > def register_validate(self):
> >    ... do something with form_result ...
> >    return redirect_to...
> > -----------------------------------------------------
>
> > What do I do wrong? Was this feature broken in new version of pylons?
>
> This is how its supposed to work. If the validation fails, it needs
> to get the form to display the errors, so it calls the other action
> and fills them in. Generally, I put a REST dispatch_on decorator on
> my original function so that POST's go to the other one. So I have
> code like so:
>
>      @rest.dispatch_on(POST='_handle_login')
>      def login(self, skin=None, anonymous=False):
>           .....
>
>      @validate(form='login', schema=forms.Login())
>      def _handle_login(self):
>          .....
>
> And in my lib/base.py I have:
> import pylons.decorators.rest as rest
>
> > P.S. The first code-block worked with pylons-0.9.5
>
> I'd be amazed if it did, there shouldn't be any way it can render
> itself since every call to itself will result in the validate being
> run again, then errors so it calls the action, thus calling validate,
> etc.
>
> Cheers,
> Ben
>
>  smime.p7s
> 3KDownload


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to