I think this might be a change to the pylons code base.

I am just having a hard time creating validators where the forms are
dynamic... Wonder what I would need that for?

-chris

On Jan 23, 9:29 pm, "Mark Ramm" <[EMAIL PROTECTED]> wrote:
> Hmm, I need to catch up on what happened to validate during the
> sprint, and perhaps stop banging my head against a wall with 2.4
> compatability issues that definitely walk the dependency chain back up
> to pylons...
>
> I think there was a notion to make validate into a "real" decorator
> with no particular hooks in the TurboGears controller's __call__
> method.   That would make it easy enough to replace the TG validator
> with custom validators from tosca, or wherever.
>
> Max Ishenko also had some ideas on how he would like TG validators to
> be better, coming from newforms I think.   I think Alberto did a bit
> of hacking around, but I don't think Max made any validator
> changes....
>
> I'll look into this more and see what's happening.
>
> But I'm definitely open to ideas about how to make validation better
> in TurboGears 2...
>
> So, if there's something missing from the current version that was in
> there before, feel free to add it back.  ;)
>
> And if there's something that it should be doing better, (like taking
> form as a keyword param as mentioned in another thread), I'm open to
> making those changes too.
>
> --Mark Ramm
>
> On Jan 23, 2008 10:49 PM, percious <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > I was wondering why this code has been removed.  I find it very
> > usefull.
>
> > #TODO: Consider depricating this in favor of pylons validate decorator
> > class validate(object):
> >     """Validate regesters validator on the decorated function.
>
> >     :Parameters:
> >       validator
> >         Valdators
> >       error_handler
> >         Assign error handler
> >     """
> >     def __init__(self, validator=None, error_handler=None, **kw):
> >         if not hasattr(validator, 'to_python') and hasattr(validator,
> > 'validator'):
> >             validator = validator.validator
> >         elif kw:
> >             assert validator is None, \
> >                    'validator must not be specified with additional
> > keyword arguments'
> >             validator = kw
> >         if not isinstance(validator, formencode.Schema):
> >             validator = _schema(validator)
> >         self.validator = validator
> >         self.error_handler = error_handler
>
> >     def __call__(self, func):
> >         deco = TGDecoration.get_decoration(func)
> >         deco.validator = self.validator
> >         deco.error_handler = self.error_handler
> >         return func
>
> > The way I use this code is to retrieve the target form from my widget
> > cache in the following manner:
>
> > class DBMechanicValidator(object):
> >     @property
> >     def validator(self):
> >         if not pylons.request.method == 'POST':
> >             return func(self, *args, **kwargs)
> >         if post_only:
> >             params = pylons.request.POST.copy()
> >         else:
> >             params = pylons.request.params.copy()
>
> >         sprocket = self.sprockets[params['dbsprockets_id']]
> >         form = sprocket.view.widget
> >         return form
>
> > Now, maybe I could write a formencode.Schema that does the same thing,
> > but i think I need to be pointed in the right direction to get that
> > working.
>
> > cheers.
>
> --
> Mark Ramm-Christensen
> email: mark at compoundthinking dot com
> blog:www.compoundthinking.com/blog
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears Trunk" 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/turbogears-trunk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to