On Aug 28, 2006, at 10:29 PM, pymonger wrote:

> Quick question:  How can I validate arguments sent through a GET
> (similar to the validate
> decorator in TurboGears)?

Right now, you can't, as you noted below, its not geared towards GET at 
this moment.

> In my controller I have this method:
>
>     @validate(validators={"count": validators.Int()})
>     def getCount(self,count):
>         return Response('<b>%d</b>' % count)
>
> however when I navigate there with
> http://bogus.hostname.here:5000/ping/getCount/123

Where would this redirect to if the count isn't an int?

> I looked at the validate function under pylons.decorators but it looks
> geared to
> validating form data that is POSTed.  I probably missed something.

No, that's correct. It is currently geared to POST variables. Though I 
see no issue with adapting it to handle GET variables as well. If it 
was to work on GET variables, I'd assume that it would give you the new 
coerced dict inside the action under:
   self.validation_results
Or something like that, as right now a validated POST is under 
self.form_results. Having it pass in the variable in the function def 
is a little outside the normal operating scope of a Pylons controller, 
as the variables in the function come from Route arguments, not 
GET/POST params.

Any ideas on what you'd like usage of it to look like, and how/where 
should it fail over to should the validation fail?

HTH,
Ben


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

Reply via email to