[Zope3-Users] how to use invariant/validator? (z3c.form=1.6 and z3c.formui=1.3)

Mail_fuer_Kai at gmx.de Mail_fuer_Kai at gmx.de
Wed Sep 19 06:49:47 EDT 2007


Hi,

I want to use an invariant-check in an analogous manner like it is described at the end of the message.
There is answered that the bug is fixed, but the same causes are still active.
I'm using z3c.form=1.6 and z3c.formui=1.3
What seems to be the trouble now?

my code:
class IAddressSearch(zope.interface.Interface):
    ...
    @zope.interface.invariant
    def firstnameOrSurname( search ):
        #import pdb; pdb.set_trace()
        if search.firstname == None:
            search.firstname = u''
        if search.surname == None:
            search.surname = u''
        if len(search.firstname) == 0 and len(search.surname) == 0:
            raise zope.interface.Invalid( u"""Enter firstname and/or surname.""")


result of my Code:
TypeError: tuple indices must be integers



message of Peter Piehler:
On Monday 06 August 2007 22:23, Stephan Richter wrote:
> On Sunday 05 August 2007 16:51, Peter Piehler wrote:
> > recently I started working with Zope3 and z3c.form.
> > The figures in the form should be checked, for instance that the first
> > name and the surname are not identical. Therefore I write an
> > invariant-check:
> >
> > class IAddress(zope.interface.Interface):
> >     """Address Interface"""
> >     ...
> >     @zope.interface.invariant
> >     def areEqual( address ):
> >         if address.firstname == address.surname:
> >             raise zope.interface.Invalid(u"first name and surname are
> > same")
> >
> > I was expecting that the error would be shown in the form.
> > Unfortunately, zope canceled the  action:
>
> Hi Peter,
>
> just a quick note to tell you that I am not ignoring you. I have just
> reproduced the problem in a doctest and I am fixing it now. I'll send
> another mail, once I checked in a fix.

Hi Peter,

I just checked in a fix for this problem into z3c.form and z3c.formui. It 
actually turned out that I had to fix2 bugs and add a feature to solve the 
problem. But it should be working now.

I did not make a new release yet, but will do that soon too.

Please let me know, if it is still not working!

Regards,
Stephan



Many thanks!
Kai
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer


More information about the Zope3-users mailing list