问题标签 [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.
zend-framework2 - ZF2 FormInput 在验证失败时显示错误类
我的表单有多个元素以以下格式呈现:
我这样做是为了将元素放在标签旁边,而不是在标签内部:
我注意到的是,在验证失败时,输入没有得到input-error
类。当我将上面的代码更改为输入时<?php echo $this->formrow($form->get('lastname')); ?>
,输入被放入标签(我不想要)并且输入按预期获得错误类:
如何通过 将输入错误类放入元素中$this->forminput
?
当我formrow
之前这样做forminput
时,两者中的输入都有错误类,但是当我forminput
自己这样做时,它没有。
[编辑]
短期我已将formrow
(没有回显)放在现有代码之上,现在我的输入字段显示错误类,但这感觉有点像黑客,我必须为我的应用程序中的每个元素都这样做已经设置成这样了。
zend-framework2 - 如何在特定位置添加zend表单元素?
我创建了一个向表单添加submit
元素的抽象表单类。当我的其他表单类扩展这个表单类时,我必须parent::__construct()
在类的底部调用,以便最后添加提交元素。
如果我parent::__construct()
先调用,如何将提交按钮设置为始终是表单中的最后一个元素?
php - stream_resolve_include_path 返回 false?
我有一个正在实施的字段集InputFilterProviderInterface
。我的getInputFilterSpecification
功能如下所示:
您可以猜到,我正在尝试按扩展名验证文件上传。
我的问题是验证器给出了错误消息
文件不可读或不存在
查看Extension
课程,我发现了导致问题的函数:stream_resolve_include_path($file)
. 当我var_dump
$file
得到以下输出时:
C:\Windows\Temp\php6BE7.tmp
那么...为什么stream_resolve_include_path
无法解决此路径?我如何解决它?
这当前在 Windows 虚拟机上运行。这是问题的一部分吗?即上述功能仅适用于兼容的操作系统?
php - 如何使用 Annotations 实现带有元素数组的 Zend Form 实体?
我需要一个表格来记录“数据集”,其中每组由几个数字组成。用户可以选择添加额外的集合,最多需要多少。在某些情况下,最多可以输入 70 个这样的集合,这就需要一个阵列。
Annotations
查看 Zend Form,我喜欢使用该功能 ( https://docs.zendframework.com/zend-form/quick-start/#using-annotations )创建表单的方法,因为它给了我一个整洁的“对象” ",我可以用它来做一些事情,比如通过即使用 Doctrine 将它直接保存到数据库中,然后也可以检索它。
问题
如何使用 Zend Form 在 PHP 中定义一个表单,该表单具有可扩展的元素集,我可以在其中使用 Doctrine 管理该实体?
php - 使用 Annotations 时,如何更改 Zend Form 中 Collection Fieldset 的计数?
来自https://docs.zendframework.com/zend-form/quick-start/#using-annotations:
通过 using Zend\Form\Annotation
,我可以发出这个指令:
在上面的例子中,它的作用是创建一个ComposedCollection
size 的元素集合2
。
当我需要一个包含 2 个元素的静态表单时,这很棒,但是当我想动态更改它时如何更改它?即在内部,我希望能够用 4 或 5 组数据填充表单,其中数量提前未知。
使用注解是静态的,而不是动态的。有没有办法做到这一点?
我试过使用
但它不起作用,因为我猜测在我使用它的时候,表单已经由 Annotation 引擎构建($annotationBuilder->createForm(MyEntity::class);
有没有办法重建表格?
我努力了$form->prepare()
但它实际上只是删除了我的 Collection 元素。
我也尝试过$form->init()
,但它似乎什么也没做。
我正在重写不使用注释的表单,但这不是我想要完成的,因为我通过以编程方式重写它实际上失去了我的实体。
php - ZF2 FieldSet 中至少需要一个元素
问题
我有一个Form
和一个FieldSet
。我想验证FieldSet
不是空的。另外,我想验证FieldSet
.
到目前为止,我所尝试的都是验证一个或另一个,但不能同时验证两者。如果elements
存在于表单的输入过滤器规范中,则它验证它elements
不是空的,但不验证bar
和的baz
字段FieldSet
。当然,反过来。任何有关如何解决此问题的线索将不胜感激。
表格
字段集
编辑:添加了完整的验证规范。
validation - ZF2 仅根据另一个元素制作所需的表单元素?
所以我的表单中有一个元素列表,其中一个是带有简单是/否选项的选择框。当该字段为“否”时,我想让下一个输入字段成为必需的。
目前我的输入过滤器看起来像:
我发现是因为我有'required' => false,
这个additional
领域,没有validators
跑步。
additional
仅当condition
“否”(值“0”)时,我如何才需要?
zend-framework2 - 如何将 ZF2 DateSelect“day”元素格式化为 2 位数字?
我想为出生日期做一个出生日期复合下拉列表(即三个下拉列表-一天一个,一个月一个,一年一个)。有用的是,ZF2 内置了这个元素,称为DateSelect
这是我将其添加到表单的方式:
要呈现我正在做的表单:
无论如何,day
元素是以j
格式呈现的(即月份中没有前导零 1
的日期31
)。
如何告诉元素以d
格式呈现日期(即月份中的某天,前导零的 2 位数字 01
)31
?