ZF2-注册自定义表单元素

悲剧3

在ZF2中,我用自己的Text元素覆盖了它(称为My\Form\Element\Text)。现在,我想添加它,以便在向表单添加文本元素时,它默认为我覆盖的类,而不是Zend\Form\Element\Text

$this->add([
    'type' => 'text',
    'name' => 'to',
]);

我知道我可以使用'type' => 'My\Form\Element\Text'而不是just 'type' => 'text',但是我试图找出是否可以避免这种情况,并且默认情况下只使用custom元素。

我已经尝试了这两种技术:

module.config.php

return [
    'form_elements' => [
        'invokables' => [
            'text' => 'My\Form\Element\Text',
        ],
    ],
];

Module.php

class Module {

    public function getFormElementConfig() {
        return [
            'invokables' => [
                'text' => 'My\Form\Element\Text',
            ],
        ];
    }
}

这些都不起作用(仍获得的实例Zend\Form\Element\Text)。还有其他注册元素的Zend\Form\Factory::create()方法,以便该方法创建我的自定义元素的实例而不是Zend版本吗?

酥脆

尽管您的配置正确,但是使用自定义元素时需要注意一些注意事项,在此处的文档中有详细介绍

赶上1

如果要通过扩展Zend \ Form \ Form创建表单类,则不得在__construct-or中添加自定义元素,而应在init()方法中添加该自定义元素

赶上2

您不能直接实例化表单类,而应通过Zend \ Form \ FormElementManager获取其实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ZF2将自定义属性添加到选择表单元素中的选项

来自分类Dev

ZF2中的自定义路线类型

来自分类Dev

ZF2注册了无效的工厂

来自分类Dev

Zf2中的Bootstrap 3表单

来自分类Dev

ZF2表单中的按钮内容

来自分类Dev

Zf2中的Bootstrap 3表单

来自分类Dev

全局更改ZF2表单格式

来自分类Dev

ZF2:如何翻译表单注释?

来自分类Dev

在ZF2中,如何注册自定义的Feed阅读器扩展?

来自分类Dev

ZF2向元素添加样式

来自分类Dev

ZF2向元素添加样式

来自分类Dev

如何在ZF2表单中制作自定义单选按钮标签?

来自分类Dev

ZF2呈现自定义类的表单验证错误

来自分类Dev

ZF2,将变量从控制器传递到自定义元素

来自分类Dev

无法在ZF2中注册模块

来自分类Dev

如何在ZF2表单元素上设置自动对焦?

来自分类Dev

ZF2 + DoctrineModule:允许“ Doctrine表单元素ObjectSelect”为空

来自分类Dev

ZF2如何将变量传递给表单

来自分类Dev

ZF2表单的CSRF即使无效值也可以验证

来自分类Dev

如何使用zf2创建上传表单?

来自分类Dev

ZF2表单验证-不重叠的日期和时间

来自分类Dev

zf2表单未在组合对象中设置值

来自分类Dev

zf2从表单获取过滤后的值

来自分类Dev

ZF2表单:如何提供字段提示

来自分类Dev

如何使用zf2创建上传表单?

来自分类Dev

在isValid之后进行zf2表单绑定

来自分类Dev

从zf2中的表单对象获取输入验证器

来自分类Dev

如何在ZF2中模拟PUT表单?

来自分类Dev

ZF2中不常见的表单属性用法