Plone 通过内容类型不变检查的灵活性行为访问字段
我的行为定义了两个字段:Plone 通过内容类型不变检查的灵活性行为访问字段,plone,behavior,dexterity,z3c.form,Plone,Behavior,Dexterity,Z3c.form,我的行为定义了两个字段:year和week(年度) 此行为可用于多种内容类型,仅在其中一种内容类型中,我需要确保此字段不会在同一内容类型的任何其他实例中重复,即此内容类型的两个对象不能共享相同的年和周(可以共享同一年或同一周) 由于此限制仅适用于此特定内容类型,我尝试使用zope.interface.invariant,但由于某些原因,我无法访问行为中定义的字段 内容类型的简化版本为: class IMyContentType(form.Schema) title = schema.Te
year
和week
(年度)
此行为可用于多种内容类型,仅在其中一种内容类型中,我需要确保此字段不会在同一内容类型的任何其他实例中重复,即此内容类型的两个对象不能共享相同的年和周(可以共享同一年或同一周)
由于此限制仅适用于此特定内容类型,我尝试使用zope.interface.invariant
,但由于某些原因,我无法访问行为中定义的字段
内容类型的简化版本为:
class IMyContentType(form.Schema)
title = schema.TextLine(title="My title",
description="My description",
required=True,
)
@invariant
def check_year_and_week(data):
data.week
如何从check\u year\u和\u week
variable中获取值(如果有)?行为只不过是一个适配器;如果您没有在不变量上获取字段,您可能需要在尝试访问额外字段之前调整内容类型。行为只不过是适配器;如果您没有在不变量上获取字段,您可能需要在尝试访问额外字段之前调整您的内容类型。您不能。不变量可以访问同一接口中其他字段的值,但不能访问其他接口中的字段
您可以改用小部件管理器验证程序:
或者在表单的操作处理程序中执行验证:您不能。不变量可以访问同一接口中其他字段的值,但不能访问其他接口中的字段
您可以改用小部件管理器验证程序:
或者在表单的操作处理程序中执行验证:您能提供一个示例吗?我应该在哪里做这个改编?行为被添加到其fti(.xml文件)的内容类型中,这是一个问题吗?一个有趣的问题。不变量的“数据”变量没有任何可调整的内容。您能提供一个示例吗?我应该在哪里做这个改编?行为被添加到其fti(.xml文件)的内容类型中,这是一个问题吗?一个有趣的问题。不变量的“data”变量没有任何可调整的内容。