Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework2 提交后请求formdata时,未筛选的formfields将消失_Zend Framework2_Zend Form_Zend Filter - Fatal编程技术网

Zend framework2 提交后请求formdata时,未筛选的formfields将消失

Zend framework2 提交后请求formdata时,未筛选的formfields将消失,zend-framework2,zend-form,zend-filter,Zend Framework2,Zend Form,Zend Filter,我试图在表单类中使用过滤器来过滤和验证表单字段 我没有为我的密码字段创建一个过滤器,当我在提交后打印表单数据时,密码字段是唯一没有通过的字段,甚至连密钥都没有了 我创建的表单字段如下所示: $this->add(array( 'name' => 'password_verify', 'type' => 'password', 'options' => a

我试图在表单类中使用过滤器来过滤和验证表单字段

我没有为我的密码字段创建一个过滤器,当我在提交后打印表单数据时,密码字段是唯一没有通过的字段,甚至连密钥都没有了

我创建的表单字段如下所示:

$this->add(array(
        'name'              => 'password_verify',
        'type'              => 'password',
        'options'           => array(
            'label'         => 'Verify password:'
        ),
        'attributes'        => array(
            'required'      => 'required',
            'placeholder'   => 'Verify password here...'
        )
    ));
并在getInputFilter()方法中添加如下过滤器

我还试图删除其他字段的inputFilters,但它们也消失了

为什么表单只返回经过筛选的数据


在将postData传递到表单类进行验证/筛选之前,我已经打印了postData,所有字段都在那里。

您始终需要向字段添加验证程序。验证器可以为空,但需要附加验证器。ZF2的逻辑是:

all unvalidated data is evil - period

谢谢,在深入研究了框架代码之后,我发现表单->getData()实际上从其inputFilter获取每个字段值。我知道我只需要添加inputFilter,但很高兴知道原因:)
all unvalidated data is evil - period