zf2从表单获取过滤后的值

德米特里·沃伊托维奇(Dmitrii Voitovich)

我不知道如何从表单中获取过滤后的值。

例如在控制器中,我只是创建一个表单,并检查它是否有效:

$editPersonFormObject->setData($this->getRequest()->getPost());
if ($editPersonFormObject->isValid()) {
    // saving logic
}

该表单包含“名称”元素:

$nameObject = new Text('name');
$nameObject->setValue($personRowObject->name);

并实现“ getInputFilter”方法:

$this->filter = new InputFilter();

$this->filter->add(
        array(
            'name' => 'name',
            'required' => true,
            'filters' => array(
                array('name' => 'StripTags'),
                array('name' => 'StringTrim')
            ),
   ...
return parent::getInputFilter();

验证也可以:验证器获取过滤后的值,但不带空格,标签等,但是当我尝试将值保存在模型中时:

$personRowObject->name = $formObject->get('name')->getValue();

我得到带有空格的未过滤的值。即使当我尝试通过FormInput Filter获取值时:

$formObject->getInputFilter()->getValues();

我得到一个空值数组:

array(1) {
    ["name"] => string(0) ""
}

我究竟做错了什么?

山姆

从表单中检索数据的正确方法是使用 $form->getData()

这将是一个值数组或一个对象,具体取决于表单的设置方式。getData()此外,仅在使用验证表单才能调用该函数$form->isValid()您返回的值也将被过滤。由于过滤发生在验证之前

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

zf2使用过滤后的值重新填充表单

来自分类Dev

在zf2中进行表单验证后如何输入计算值

来自分类Dev

ZF2将数据库中的值获取到表单类中

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

zf2获取控制器中的JSON值

来自分类Dev

Zf2中的Bootstrap 3表单

来自分类Dev

ZF2表单中的按钮内容

来自分类Dev

Zf2中的Bootstrap 3表单

来自分类Dev

全局更改ZF2表单格式

来自分类Dev

ZF2:如何翻译表单注释?

来自分类Dev

ZF2依赖关系表单未从字段集中获取字段

来自分类Dev

zf2 - 在表单/控制器工厂中获取控制器插件

来自分类Dev

ZF2获取全局会话容器

来自分类Dev

ZF2在工厂获取参数

来自分类Dev

ZF2在工厂获取参数

来自分类Dev

ZF2表单过滤器和验证器。在哪些情况下,验证程序首先执行?

来自分类Dev

ZF2表单过滤器和验证器。在哪些情况下,验证程序首先执行?

来自分类Dev

ZF2输入过滤器更改消息颜色

来自分类Dev

ZF2如何将变量传递给表单

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在isValid之后进行zf2表单绑定

来自分类Dev

如何在ZF2中模拟PUT表单?

来自分类Dev

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

来自分类Dev

ZF2表单集合Zend \ Form \ FormElementManager :: get无法获取以下内容或为其创建实例