【发布时间】:2014-07-16 10:21:21
【问题描述】:
我的 ZF2 应用程序中有一个带有验证码元素的表单,如下所示:
$this->add(array(
'type' => 'Zend\Form\Element\Captcha',
'name' => 'captcha',
'attributes' => array(
'class'=>'form-control',
),
'options' => array(
'label' => 'Please verify you are human.',
'captcha' => array('class' => 'Dumb')
),
));
我在表单中附加了一个输入过滤器,用于验证表单中的其他元素(姓名、电子邮件、消息)。当它附加到表单时,验证码字段的验证在检查是否有效时会被忽略。
if ($request->isPost()) {
// set the filter
$form->setInputFilter($form->getInputFilter());
$form->setData($request->getPost());
if ($form->isValid()) { ...
如果我删除输入过滤器,则验证码字段正确,但显然其他字段没有验证器。我犯了什么愚蠢的错误?我必须在输入过滤器中设置“验证码”验证器吗?
【问题讨论】:
标签: php validation zend-framework2 captcha input-filter