Basically I'm struggling to add a multi-field validation error generated by
on a child schema to the parent schema. Here goes...
I have a schema which includes a subschema:
class SubSchema(Colander.Schema):
url = colander.SchemaNode(...)
description = colander.SchemaNode(...)
class MainSchema(Colander.Schema):
sub_node = SubSchema()
...
I also have a validation function that checks that at least one of 'url'
and 'description' is non-null:
def sub_schema_validator(form, value):
if not value['url'] and not value['description']:
exc = colander.Invalid(form, 'Must enter either a website or a
description')
exc['url'] = ''
exc['description'] = 'Please enter either a website or a description'
raise exc
This function works fine if I just use the sub-schema (no main schema). For
the main schema, I've tried to write a function that calls the sub-schema
validation function:
def main_schema_validator(form, value):
subnode = child_named('sub_node', form)
sub_schema_validator(subnode, value['sub_node'])
The error gets raised, but the 'url' and 'description' fields don't get
highlighted like they should be. I'm not sure how I'm supposed to add the
exception generated by the sub-node to one for the main node.
Any ideas?
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/pylons-discuss/-/Ze9qkwgDuH8J.
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.