Author: jmorliaguet Date: Thu Feb 9 22:51:25 2006 New Revision: 2333 Modified: cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/forms/browser.py Log:
- more generic code using the zope.schema API Modified: cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/forms/browser.py ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/forms/browser.py (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/tests/zope3/functional/forms/browser.py Thu Feb 9 22:51:25 2006 @@ -5,8 +5,9 @@ from zope.app.publisher.browser import BrowserView from zope.app.cache.ram import RAMCache -from zope.interface import Interface +from zope.interface import Interface, implements from zope.schema import Text, Choice, Int +from zope.schema.interfaces import RequiredMissing, ConstraintNotSatisfied from zope.schema.fieldproperty import FieldProperty from cpsskins import minjson as json @@ -40,7 +41,7 @@ gender = Choice( title=u'Gender', - values=(u'Male', u'Female') + values=(u'Male', u'Female'), ) id = Int( @@ -90,22 +91,16 @@ for field in fields: name = field['name'] value = data[name] - field_def = FieldProperty(self.schema[name]) + schema_field = self.schema[name] # validation - valid = True field['status'] = u'' - - if field_def.required and not value: + try: + value = schema_field.fromUnicode(value) + except ConstraintNotSatisfied: + field['status'] = u"Incorrect value" + except RequiredMissing: field['status'] = u"this field is required" - valid = False - - constraint = field_def.constraint - if constraint is not None: - m = constraint(value) - if not m: - field['status'] = u"Incorrect value" - valid = False field['value'] = value -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins