Thanks for the clarification, Mike. So it is really an issue with the decorator rather than FormEncode as a whole, correct? As I mentioned, I have never ran into issues with FormEncode but I have only just started using Pylons therefore haven't ran across a huge number of cases with the decorator.
2009/10/23 Mike Orr <[email protected]> > > On Fri, Oct 23, 2009 at 3:29 PM, Kevin J. Smith <[email protected]> > wrote: > > I'm curious as to what everyone's hate for @validate is. I have been a > long > > time user of FormEncode and new to Pylons and found @validate pretty damn > > slick. I've got custom validators and chained validators and never > really > > had a complaint. I've definitely ran into situations that have me > > scratching head as to how I am going to get it to work but there always > > seems to be a way and it ends up being reasonably elegant with > FormEncode. > > The decorator works, it's just limited. Ideally you want to do all > your validation the same way. But @validate can only handle some > cases. > > 1. If you want to validate based on the current database record, that > isn't known until the middle of the action. This would be a good use > for 'state', but there's no way to pass state through the decorator. > > 2. The default post_only=True, on_get=False is ridiculous. It ends up > passing GET requests through without validation, which will then cause > your action to crash (if expected data isn't there or is the wrong > type) or to perform an action it shouldn't. > > 3. If the validation passes but you later want to flag a different > error, you're in the same situation the OP is in. > > 4. If you want to perform some of the error handling in the action, > you can't just paste code from @validate because it does a lot of > other stuff to deal with its arguments, and you have to sit there and > think about which parts of the code are relevant to the situation and > how to transform them. > > -- > Mike Orr <[email protected]> > > > > -- Never take life seriously. Nobody gets out alive anyway. --~--~---------~--~----~------------~-------~--~----~ 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?hl=en -~----------~----~----~----~------~----~------~--~---
