问题标签 [zend-form2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1162 浏览

php - 如何将 zend 框架 2 与 mongo db 集成

我正在尝试将 zend framework 2 与 Mongo DB 集成,有人可以提供这样做的步骤或任何链接。

查询:可以不使用 Doctrine 2 进行集成吗?

0 投票
1 回答
4783 浏览

zend-framework2 - Loop through Form Elements in the order they were added

Zend Form 2 structures all Elements in Fieldsets. (Zend\Form\Form extends Fieldset - Form::add calls parent::add )

If i just add Elements to the Form i can get them via $form->getElements() if i use a fieldset i can get them via

But imagine a form where i add a few hidden fields, then a fieldset, and at last a submit button.

How can i get the elements/fieldsets in their right order ?

Reason behind this, I'm working on a view helper which lets me print forms via a simple call to the view helper.

I don't want to call every form element via a call to formRow() (I know of the concept behind Form2 - separating logic from presentation)

Any help is much appreciated. TIA

0 投票
1 回答
1492 浏览

php - 在 Zend Framework 2 应用程序的表单集合中使用 dgrid

对于我们的新项目,我们已经开始使用 Zend Framework 2 和 Dojo 1.8。ZF2 有一个完全重写的表单模块,它现在具有用于一对多关系的新 CollectionElement。关于 UI,我发现 dgrid 最适合这种关系(使用编辑器列插件),所以我开始扩展 FormCollection、FormRow 和 FormElement 视图助手,以便它们可以呈现所需的 dgrid。一切都很好,直到我意识到我无法为 dgrid 小部件设置每行输入名称。

我从ZF2 文档开始处理表单集合。可以看到,集合输入元素具有类似数组的名称,例如

另一方面,dgrid 的配置是基于列的,所以我可以有一个像这样的列定义

此列定义将为所有行定义设置相同的小部件名称,这不适用于 ZF2 集合数据格式要求。

我还尝试过这样命名列:

哪个有效,但不允许所需的格式

也许有一种方法可以像这样发布数据:

并在之后对其进行转换,但解决方案看起来不正确。除此之外,我正在尝试生成可重用的代码并希望避免执行表单数据修改。

由于我非常努力地避免对数据转换进行 onSubmit/onClick 事件处理,因此有两种可能的解决方案: 1. 使 dgrid 能够设置每行小部件名称 2. 使 ZF2 表单理解一些非标准的 POST 格式收藏品

不幸的是,我没有想法,如何完成这两种解决方案,所以如果你能帮我解决这个问题,我将不胜感激!

由于这与我当前的问题有些相关,因此我将把它作为一个附带问题放在此处:除了这个 UI 解决方案之外,您还为与 dojo 的一对多表单界面使用了什么?

0 投票
2 回答
9583 浏览

forms - Zend Framework 2 formInput 或 formElement ID 标签未呈现

在 Zend 框架 2 中,当我像这样使用视图的formRow方法时

它会生成这样的 HTML

但是如果我使用formInput

我没有拿到身份证

我尝试使用 formElement 获得相同的结果。

我怎样才能让它只呈现具有所有属性和值的输入?

这就是我的Zend Framework 2 视图的样子(简化)

Zend Framework 2 表单

0 投票
3 回答
5109 浏览

zend-framework2 - 选择元素验证

我的表单中有一个 Select 元素,如下所示:

在我的value_options控制器中充满了数据库信息......(有更好的方法吗?)

我为他准备了一个 InputFilter,如下所示:

请注意,我想更改isEmpty消息……这就是问题所在!

当我提交表格时,我仍然收到相同的英文信息:

所以我的问题是:为什么我还有这个消息?它是从哪里来的?我怎样才能改变它?

Ps.:使用 Text 元素,效果很好。只有使用 Select 元素我才会遇到这个问题。

额外的问题:

如果我想使用 InArray Validator,如下所示:

我需要总是填补这个haystack领域?没有办法告诉验证器使用表单value_options

天呐!

编辑

我不确定,因为没有人证实这一点,但我猜 ZF2 在您设置表单元素时会对表单元素进行默认验证type

举个例子,

在这种情况下,ZF2 会为 Select 元素创建一些默认验证,例如检查是否为空并检查大海捞针。

那么如何覆盖此验证中的消息?

0 投票
2 回答
4754 浏览

zend-framework2 - ZF2 动态表单过滤器/验证器

我正在设置一个将创建表单的控制器。我不能使用扩展的 Form 类,所以我需要在我的控制器上构建我的表单。

这里的主要问题是,我如何为每个元素/字段集定义过滤器和验证器,而不需要创建一个实现 InputFilterAwareInterface 的类,这样我就可以从我的控制器中做所有事情?

提前致谢!

0 投票
0 回答
1714 浏览

zend-framework2 - ZF2 表单标签未翻译

我正在开发 ZF2 骨架应用程序并添加了“专辑”模块。我的表单标签未翻译。需要做什么才能使表单标签成为多语言?

我的代码form/AlbumForm.php

我的代码view/edit.phtml


已编辑


var_dump()$translator( )的$translator = $this->formLabel()->getTranslator();输出如下:



如您所见,语言环境是“es_ES”。我的es_ES.po包含标签(艺术家和标题)的翻译,并在列表页面标题中正确显示它们。

提前感谢您的帮助。

0 投票
4 回答
23365 浏览

php - 如何在 Zend 框架 2 中为 Zend/Form 生成的标签添加属性

我正在使用 Zend/Form 向我的页面添加表单。

我通过如下定义来添加元素:

如您所见,有一个 'label' => 'cost' 节点,这会生成一个与输入元素一起使用的标签。

如何向此标签添加类、属性?

0 投票
1 回答
343 浏览

zend-framework2 - Zend\Form 自定义 HTML 标记

需要有关如何创建自定义 HTML 标记的教程(如 Zend 1 上的表单装饰器)。我想生成类似的东西:

0 投票
1 回答
6159 浏览

zend-framework2 - 如何使用 Zend\Form 将类应用于标签并在呈现的表单中添加行尾?

我已经按照 Zend Framework 2 的教程进行操作,并且在呈现的表单上看到绑定标签的约定是将输入元素包装在标签标签中,而不是使用“for”属性。虽然教程没有涵盖它,但我(正确地)推断出属性数组允许在输入元素本身上设置一个类,但我真正想做的是将一个类应用到选项下定义的标签上。

这是本教程中使用的示例(来自AlbumForm.php):

这将呈现为:

或者,我可以将类应用于 span 标签,但我更喜欢使用标签上的类,然后对 span 和 input 元素使用 css 子选择器

我已经重新阅读了教程以及相应部分的评论,甚至深入研究了 Zend\Form API 文档本身,但我看不到如何在以这种方式声明表单元素时将类属性应用于标签.


表单渲染的另一个小问题是它似乎是内联渲染的,表单元素之间没有换行符。add.phtml我已经通过在视图脚本(和)中添加换行符来解决这个问题,edit.phtml如下所示:

但是,这似乎与视图中每个回显的表单语句有关,并且使用它formCollection()也会使整个表单输出内联。出于易读性的目的,我希望在查看源代码时至少在适当的地方有换行符(我也希望有适当的缩进,但这似乎是一个艰巨的要求,因为即使 IDE 也经常出错)

那么,对于我遗漏的这些问题中的任何一个,是否有一个内置选项,或者,是否有一种方法来定义工厂或助手?如果我需要编写一个助手,我希望它适用于所有模块。