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