Am Mittwoch, 19. Juli 2006 03:25 schrieb Darryl Cousins: > Hi All, > > I've had a bit of a struggle getting formlib error views to play nicely > with invariants. That is the problem I have found to trouble me is in > the zope.formlib.form.FormBase method error_views. > > When I use the schema: > > class IMemberRegisterForm(IMemberData, IMemberDetails): > """Schema for a member register form.""" > > new_password = Password( > title=_("Choose a Password"), > required=True) > > verify_password = Password( > title=_("Verify Password"), > required=True) > > @invariant > def passwordsMatch(register): > if register.new_password != register.verify_password: > msg = _("Entered passwords do not match") > error = ('verify_password', _("Passwords"), msg) > raise Invalid(error)
[...] I am not sure if I've understood you correctly, but I've solved the same problem (raise error if passwords are not equal) this way: class PasswordsAreNotEqual(ValidationError): """The passwords are not equal.""" interface.implements(IWidgetInputError) class IRegistrationForm(interface.Interface): """For entering the data for registration.""" password = Password(title=u"Password", description=u"Your password.", required=True) password2 = Password(title=u"Verify Password", required=True) @interface.invariant def arePasswordsEqual(obj): if obj.password != obj.password2: raise PasswordsAreNotEqual Hope this helps, Florian _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users