[Zope3-dev] Re: Add function for schema validation in zope.schema

Tres Seaver tseaver at palladion.com
Mon Aug 20 10:04:05 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fred Drake wrote:
> On 8/20/07, Christian Zagrodnick <cz at gocept.com> 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.

- -1.  Detecting the schema violation is "mechanism",  raising an
exception is "policy";  they shouldn't be mixed here.  Let the caller
raise an exception if that is appropriate


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGyZ9V+gerLs4ltQ4RAvEkAJwKK50BjjTwzNE39gsw1nXXq+JNVACcDKWK
2jxn+16Ax1Lx2sXf6vAy2EM=
=Y25B
-----END PGP SIGNATURE-----



More information about the Zope3-dev mailing list