我正在尝试在表单类中使用过滤器来过滤和验证表单字段。
我没有为我的密码字段创建过滤器,当我提交后打印表单数据时,密码字段是唯一不通过的字段,甚至密钥都没有了。
我创建这样的表单字段:
$this->add(array(
'name' => 'password_verify',
'type' => 'password',
'options' => array(
'label' => 'Verify password:'
),
'attributes' => array(
'required' => 'required',
'placeholder' => 'Verify password here...'
)
));
并在 getInputFilter() 方法中添加这样的过滤器
$inputFilter->add($factory->createInput(array(
'name' => 'password_verify',
'filters' => array(
array(
'name' => 'StripTags',
),
array(
'name' => 'StringTrim'
)
),
'validators' => array(
array(
'name' => 'identical',
'options' => array(
'token' => 'password',
)
)
)
我也尝试删除其他字段的 inputFilters,它们也消失了。
为什么 Form 只返回过滤后的数据?
在将 postData 传递给表单类进行验证/过滤之前,我已经打印了它,并且所有字段都在那里。