问题标签 [zend-form-fieldset]
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.
doctrine-orm - ZF2/Doctrine2 - 字段集未验证,数据始终有效
我已经为 Forms、Fieldsets 和 InputFilters 使用抽象类建立了一个结构。表单和字段集具有工厂,而 InputFilters 由 FieldsetFactory 在字段集上创建和设置(使用MutableCreationOptionsInterface
传递选项)
我遇到的问题是为表单加载了 InputFilters ,但不用于验证数据。所有输入都被接受为有效。
例如,我有一个具有属性的Country
实体。name
Country 的名称必须至少为 3 个字符,最多 255 个字符。当名称为“ab”时,它被认为是有效的。
在有人问之前:没有抛出错误,数据只是被接受为有效。
在过去的几天里,我一直在为此烦恼,试图找出我犯错的地方,但找不到。
此外,还有相当多的代码。我把它限制在我认为相关的范围内,虽然:如果你需要更多,就会有更多。我删除了很多类型检查、文档块和类型提示来限制代码行/阅读时间;)
模块.config.php
国家.php
CountryController.php - 扩展 AbstractActionController
AbstractActionController.php - (在这里出错) - CountryController#editAction()使用
CountryForm.php
CountryFormFactory.php
AbstractFormFactory.php - 用于MutableCreationOptionsInterface
接收来自控制器函数调用的选项:$form = $this->getFormElementManager()->get($formName, (is_null($formOptions) ? [] : $formOptions))
CountryFieldset.php - CountryForm.php在上面用作基本字段集
AbstractFieldset.php
CountryFieldsetFactory.php -在这里 INPUTFILTER 设置到 FIELDSET
AbstractFieldsetFactory.php
CountryFieldsetInputFilter.php
AbstractFieldsetInputFilter.php - 最后一个!:)
任何帮助将不胜感激。希望您不会对上面的代码感到负担过重。但是我已经反复讨论这个问题大约 3-4 天,并没有偶然发现出了什么问题。
总结一下:
在上面CountryForm
创建了一个。它使用CountryFieldset
预加载(在CountryFieldsetFactory
)中的CountryInputFilter
.
在验证数据时,一切都被认为是有效的。例如 - 国家名称“ab”是有效的,尽管StringLength
验证器已'min' => 3,
定义为选项。
php - 如何在 ZF3 中继承嵌套字段集的 getInputFilterSpecification 方法
我正在使用类表继承模式为 ZF3 模块开发字段集类中的输入过滤器。ZF3文档说 fieldset 类必须实现Zend\InputFilter\InputFilterProviderInterface
,它定义了一个getInputFilterSpecification()
方法。
这适用于独立的字段集类,但如果我有一个字段集扩展另一个字段集,则表单getInputFilterSpecification()
仅使用来自子项的方法。
由于该getInputFilterSpecification()
方法只是返回语句的集合,我想我可以在子方法中添加对父方法的调用,但这似乎不起作用:
如何获取子字段集中的方法以从父方法getInputFilterSpecification()
中继承代码?getInputFilterSpecification()
php - zend framework 3 异步验证和字段集(数组格式不兼容)
我有一个ajax提交的zend表单:
为了验证表单,我必须将数据传递给 Zend 函数setData()
:
唯一的问题是 - 当表单包含字段集时 - setData 预期数组应该是:
...虽然 jquery 给出的数组是(这是正确的,这就是 zend 将名称分配给字段集子项的方式):
我设法以这种方式转换数组格式:
你知道更简单/更好的方法吗?
zend-framework2 - zend framework 2/3 集合集自定义属性
从这些问题来看:
如何将参数传递给 Zend 表单集合实例以及如何在 ZF2 中设置自定义字段集标签?
我想没有自定义集合元素的好方法。
例如,有一个像这样的集合:
然后为每个文本元素和/或自动编号的标签定义(此处为当前类)自定义属性,然后输出(只需调用 zend 助手 FormCollection,无需任何自定义视图助手):
我错了吗?
(我之所以这么问是因为我找到了一个很好的解决方案,并且可能有助于发布它)
zend-framework3 - 如何将 InputFilter 验证器应用于 ZF3 中的字段集元素
我有一个有两个字段的表格。一个带有验证器的 InputFilter 被应用到它上面。它工作正常。然后我将这些字段移动到一个字段集并将该字段集添加到表单中。现在,字段的分配验证器不存在。验证器对象isValid
方法根本不会被触发。那么如何将 InputFilter 验证器应用于字段集中的字段呢?这是你的课程:
文本类验证器
测试类 InputFilter
测试类字段集
测试类表格
测试控制器类
测试控制器工厂类
测试班
测试字段集
更新
我相应地更新了字段集类,以添加 @Nukeface 建议setInputFilter()
。但它没有奏效。它甚至没有执行 InpuFilter 类init
方法。也许我做错了:
zend-framework2 - zf 为表单类中的新字段集元素添加输入过滤器
在zend框架中,如何使用表单中的代码为字段集中的新表单元素添加输入过滤器?在下面的例子中,我在 fieldset 类中定义了一组常见的表单元素和一个 inputfilter,并将 fieldset 添加到表单中。之后,我将一个或多个新的表单元素添加到表单代码中的字段集中(我在表单中而不是在字段集中执行此操作,以准备通过表单工厂动态添加元素)。我遇到的问题是为其他元素添加新的输入过滤器定义。
在我的字段集中:
以我的形式:
在此示例中,附加元素被添加到字段集中,但我的代码错误,无法将新定义添加到输入过滤器。
php - Zend 2 Annotations ComposedObject 不采用字段集属性
我正在尝试创建一个 zend 表单,它完全使用注释来引用单独的字段集。我正在使用ComposedObject
注释来执行此操作。但似乎没有添加/使用字段集类内的注释(如 \type 或 \attributes)。
仅使用来自父表单的注释。
例如,如果我要添加@Annotation\Type("number")
到父 Form 类,那么输入类型将正确设置为type="number"
. 但是,如果我要添加@Annotation\Type("number")
到 fieldset 类,那么什么都没有,nada,我得到type=""
了。我不知道为什么!
这是我的父表格:
这是字段集类Permits\Form\Model\Fieldset\numOfTrips
:
我正在使用以下方法创建表单:
我将不胜感激任何帮助或指导。
zend-framework2 - 如何在嵌套集合中使用一个表单字段集?
我正在创建页面来插入数据,就像一本书一样。我在哪里使用 zend 表单字段集和集合。Fieldset 只有两个字段,标题字段和内容字段。标题和子标题具有相同的内容(字段)。
前任:
注意:这里的索引只是为了显示父子关系。
代码如下:
这是主要形式。
此字段集在 BookPointlForm 的积分集合中调用
这是主要字段集它的内容标题和标题的内容
...
zend-form - Laminas / Zf3 - 从 Fieldset 访问表单参数
我在我的 Laminas 项目中遇到了一个问题。在我的控制器中,我用参数调用了我的表单。我的表单包含字段集的添加功能,我想读取我的字段集中的参数。我怎样才能做到这一点 ?
这是我的控制器中的功能:
这是我的表格:
这是我的字段集
问题是如何将我的参数放入字段集 __construct 或 init 函数中?
zend-framework3 - Laminas / Zf3 - 从 Fieldset 获取参数,但它返回空值
我按照@crash 的说明进行操作,并获得了在我的字段集中传递的参数值。但有时它会返回一个空值。这是我的完整代码
我的 RapportEffetForm :
我的 RapportEffetFormFactory :
我的 RapportEffetFieldset :
我的 RapportEffetFieldsetFactory :
我的 EffetRapportFieldset :
我的 EffetRapportFieldsetFactory :
我的 CommunForm 课在这里:
和我的 CommunFieldset :
当我在 EffetRapportFielset 的 init() 函数中执行 var_dump 时,我得到了这个
在同一页面中,我也得到了这个:
我需要说的是,当我在 RapportEffetForm 上对 $this->parameters 进行回显时,我得到了正确的参数值。
不知道为什么第一次,值不错,(第二次??)为null。也不知道为什么多次显示此值。
这是我所有的信息。希望它可以帮助您也帮助我找到解决方案。
此致 !