制約関数を設定したい:
from zope.interface import Invalid
from foo.bar import MessageFactory as _
def imageSizeConstraint(value):
# value implements the plone.namedfile.interfaces.INamedBlobImageField interface
width, height = value.getImageSize()
if width > 500 or height > 500:
raise Invalid(_(u"Your image is too large"))
次に、その関数をフィールドの として設定しconstraint
ます。NamedBlobImage
image = NamedBlobImage(
title=_(u'Lead Image'),
description=_(u"Upload a Image of Size 230x230."),
constraint=imageSizeConstraint,
required=True,
)
詳細については、バリデーションに関するDexterity マニュアルとplone.namedfile
インターフェース定義を参照してください。