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

Reply via email to