-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zope.schema
does not handle well nested object fields
#17
Comments
I also agree that binding to the original context seems more correct. I think this is closer to what happens when using a |
However, that would be backwards incompatible at this point. (Although no tests failed when I tried binding to the context instead of the value.) I think we can still get all the same basic advantages by binding to the incoming value (in fact we should have an extra degree of freedom at that point, as the field's context and the value are separate). |
Fixes #17 in a backwards compatible way.
Fixes #17 in a backwards compatible way.
…ation and the public functions get[Schema]ValidationErrors. Fixes #57 This makes Object bind all fields (not just choices) before validation. This fixes #17 in a backwards compatible way. Binding all attributes, not just Choices, reduced the dependencies of Object and facilitated making it a bootstrap field. Making it a bootstrap field in turn let us use it in more places in interfaces.py, which fixes #13. Switch from just repeating attribute names in interfaces.py to a real __all__ attribute that linters can warn about. Change ..autoclass:: in api.rst to ..autointerface:: so we get the actual member documentation and not lots of warnings about missing __mro__. (This is unrelated, I was just tired of the warnings.)
…ation and the public functions get[Schema]ValidationErrors. Fixes #57 This makes Object bind all fields (not just choices) before validation. This fixes #17 in a backwards compatible way. Binding all attributes, not just Choices, reduced the dependencies of Object and facilitated making it a bootstrap field. Making it a bootstrap field in turn let us use it in more places in interfaces.py, which fixes #13. Switch from just repeating attribute names in interfaces.py to a real __all__ attribute that linters can warn about. Change ..autoclass:: in api.rst to ..autointerface:: so we get the actual member documentation and not lots of warnings about missing __mro__. (This is unrelated, I was just tired of the warnings.)
In https://bugs.launchpad.net/zope.schema/+bug/969350, @alexgarel reported:
And supplied a patch: https://bugs.launchpad.net/zope.schema/+bug/969350/+attachment/2968618/+files/zope.schema.bug-969350.patch
describing it:
The text was updated successfully, but these errors were encountered: