During the course of migrating a TG1 app to TG2 I'm finding that
validators written to handle some ajax posts are not converting the
keyword params into a proper dictionary.  For example:

The code goes something like this:

@expose("json")
@validate(MyValidator, error_handler=error_handling_method)
def sample_ajax_submission_method(self, *args, *kwargs):
  profile_values = kwargs['profile_value']

Now in my TG1 app the validators end up creating a dictionary with a
key of "profile_value"; however, in my TG2 app.. it appears that this
transformation doesn't occur; so there is no "profile_value" key or
packaged up data. I would normally expect as a result of the
validation I would get a new entry in **kw's that is a dictionary:
{'name' : 'sample_name', 'address': 'sample_address'}

My validators look something like:

class ProfileSubmitValidator(validators.Schema):
    destination_url = validators.UnicodeString(not_empty=True)
    profile_value = ProfileValueValidator()

class ProfileValueValidator(validators.Schema):
    name = validators.UnicodeString(not_empty=True)
    address = validators.UnicodeString(not_empty=True)

Sample kwargs: { 'profile_value.name' : u'Sample Name',
'profile_value.address' : 'sample address', 'destination_url' :
'sample_url'}

This setup works in TG1, seems like it should work in TG2 and it runs
w/o errors; just doesn't give me the results I would expect.  I've
reviewed the FormEncode docs and can't find a clear answer to this
problem.  Any clarification of how this should or shouldn't work would
be great.



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to