[Zope3-dev] z3c.form: handling of interface invariants

Michael Howitz mh at gocept.com
Thu Sep 27 04:37:07 EDT 2007


Am 27.09.2007 um 05:35 schrieb Stephan Richter:

> On Wednesday 26 September 2007 09:06, Michael Howitz wrote:
>>    This solution requests that the back-end supports non-optimistic
>> save-points. But we can get rid of the Data class.
>>
>> We'll start an implementation of the second approach on a branch of
>> z3c.form now to show if it works.
>
> I really like the second approach, if you can get it working.

After thinking it over we decided to implement the first approach  
(change z3c.form.validator.Data to read the value of a field missing  
in he form on the object).

We put our changes into the branch gocept-invariants.

The reasons to change our decision where the following:

- the second approach (using save-points) requires save-point support  
on the back-end and breaks without this support

- using save-points would require to change the structure of  
z3c.form: till now the complete validation is done by  
z3c.form.field.FieldWidgets, using save-points validation gets split  
up into validation of field contents in FieldWidgets and validation  
of the invariants.
   The validation of the invariants has to be implemented at least  
twice: in AddForm and EditForm because saving form values is done  
completely different in these classes. So someone creating a direct  
subclass of z3c.form.form.Form has to do things again or we need  
additional changes in the structure.

Any thoughts?

-- 
Yours sincerely,
Michael Howitz

gocept gmbh & co. kg · forsterstrasse 29 · 06112 halle/saale
www.gocept.com · fon: +49 345 12298898 · fax: +49 345 12298891




More information about the Zope3-dev mailing list