validation - 带有内联验证的 plone z3c.form.GroupForm

标签 validation plone z3c.form

我一直在使用两个模式来构建具有内联验证的 z3c.GroupForm:

正在关注 https://pypi.python.org/pypi/z3c.form#group-forms我做了:

from plone.directives.dexterity import AddForm
from z3c.form import field
from z3c.form import group, form

class CustomerGroup( group.Group ):
    label = u'Customer'
    fields = field.Fields(ICustomer, prefix='customer')

class CustomerRegistrationAddForm(group.GroupForm, AddForm):
    ignoreContext = True
    fields = field.Fields(IEmailUser).omit('customer')
    groups = (CustomerGroup,)

这行得通。但它给了我非常简单的渲染,没有内联验证。 我试图包括来自 plone.autoform 的混合,但这些似乎不兼容 -> MRO 错误。

我很确定我错过了什么。 Plone 中有 plone.app.z3cform 和其他用于 z3c.form 用法的包装器。但是我没有找到将它们用于 z3c.groups 的示例,所以我尝试了基本的 z3c 变体。

我想实现的用例如下:一个表单,分别在一个选项卡中包含架构 A 和架构 B 的字段。然后表单操作处理是手动编码的,并将负责处理基础内容类型。换句话说:不会/应该使用灵巧的“积极内涵”魔法。

但我喜欢根据我为模式注册的模式提示和适配器进行内联验证。

最佳答案

问题解决了。现在,Z3c 的组在 Plone 中称为字段集。 以下是诀窍。

from plone.autoform.form import AutoExtensibleForm
from plone.supermodel import model
from z3c.form import form
from plone.autoform import directives

class ICustomerRegistration( IEmailUser, ICustomer ):
    model.fieldset('EmailUser',
        label=_(u"EMail User"),
        fields=['email', 'firstname', 'lastname', ]
        )

    model.fieldset('Customer',
        label=_(u"Customer"),
        fields=['enterprise',
                'street',
                'house_number',
                'postal_code',
                'city',
                ]
        )

class CustomerRegistrationAddForm(AutoExtensibleForm, form.Form):
    ignoreContext = True
    schema = ICustomerRegistration

关于validation - 带有内联验证的 plone z3c.form.GroupForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27474931/

相关文章:

plone - 如何将 css 类添加到 z3c.form 按钮

asp.net - Javascript 与 ASP.NET 验证,选择哪一个?

java - 使用 Struts 2 xml 验证的自定义 validator 错误消息

php - 如何在 Laravel 5 中测试自定义验证规则?

windows - 在 windows ssh 中连接到远程 zope 控制台

python - 如何覆盖 z3c.form 按钮操作处理程序?

php - Laravel 验证总是从 API 返回 200 OK

Plone 自定义 viewlets.xml 未被选中

html - Plone 中标题换行符的提示