On Wed, Dec 5, 2012 at 11:56 AM, Mikko Ohtamaa <[email protected]> wrote: > Hi, > > On Wed, Dec 5, 2012 at 8:50 PM, Christian Ledermann > <[email protected]> wrote: >> >> I try to make a list filed required for a dexterity type: >> >> >> layers = schema.List( >> title=_(u"Layers"), >> description=_(u"WMS Layers"), >> required=True, >> value_type=schema.Choice( >> source=layers_vocab, >> required=True, >> ), >> >> but when I save the edit form it does not complain wether >> the list field is filled or not > > > My gut feeling is that it validates "list object" not "list length". > > Is there a validator which allows you to the require the minimum length of > the list (probably not)?
Use a constraint, start with something that looks like: >>> from zope import schema >>> field = List(value_type=Int(), constraint=lambda v:len(v)>0, required=True) >>> field.validate([1]) >>> field.validate([]) Traceback (most recent call last): ... ConstraintNotSatisfied: [] I assume this should work, but have not tested with forms. Sean _______________________________________________ Product-Developers mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-product-developers
