On 8/20/07, Christian Zagrodnick <[EMAIL PROTECTED]> wrote: > I think we should add a function to validate a given schema on a given > class. This should include constraints and invariants:
I do presume you mean object, rather than class, as your example implies. > validateSchema(IMySchema, myobject) [or alike] +1 > I'm not sure about return values or exceptions. There are different use cases: > > 1. Is the object valid? -> True/False > 2. What's wrong with the object -> {attribute/field-name: what's > wrong}, what's wrong with invariants. There should probably be a specific exception that's defined for this purpose, and it could directly support the mapping interface to allow detailed information to be extracted. I suspect a common use would be to simply verify the object and raise the exception in the invalid case, denying whatever operation was being attempted. This also suggests that there's no interesting return value; either the exception is raised or it isn't. Code that wants to introspect the exception can catch that and act accordingly. -Fred -- Fred L. Drake, Jr. <fdrake at gmail.com> "Chaos is the score upon which reality is written." --Henry Miller _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com