Zend framework2 ZF2添加具有元素定义的过滤器

Zend framework2 ZF2添加具有元素定义的过滤器,zend-framework2,zend-form,zend-form-element,Zend Framework2,Zend Form,Zend Form Element,我正在尝试使用元素定义添加过滤器和验证器。但到目前为止,它还不起作用。这是我的控制器类代码 public function validateAction() { $testVals = Array ('question1' => 'value1' ); $formMaker = $this->getServiceLocator ()->get ( 'ttForm\Maker' ); $form = $formMaker->genera

我正在尝试使用元素定义添加过滤器和验证器。但到目前为止,它还不起作用。这是我的控制器类代码

   public function validateAction() {
    $testVals =  Array ('question1' => 'value1' );


    $formMaker = $this->getServiceLocator ()->get ( 'ttForm\Maker' );

    $form = $formMaker->generateForm();

    $form->setData($testVals);

    if ($form->isValid()){
        echo "Valid form";
    }
    else{
        print_r($form->getMessages());
        echo "Invalid form";
    }
     die;

}
这是表单类代码

public function generateForm (){
    $element =    array (
         'options' => array(
             'label' => "First Name :",
         ),
        'attributes' => array(
            'required' => 'required',
    'type' => 'text'

        ),

        'name' => 'firstName',


        'filters' => array(
            array('name' => 'Zend\Filter\StringTrim'),
        ),


        'validators' => array(
            array(
                'name' => 'not_empty',
            )),
    );
 $form = new Form();
 $form->add($element);
return $form;
}


正如您在form类中看到的,我使用元素定义附加了过滤器和验证器,但它不起作用。看看文档,我们似乎可以做到。有人能指出缺失的环节吗?谢谢。

在方法
generateForm
中似乎没有定义
$form
对不起,我在复制时漏了一行。我刚刚更新了。你不能直接在表单元素规范中添加过滤器和验证器,它们被添加到输入过滤器规范中。看看文档,特别是在这里通过factory example创建->如果向下滚动示例规范,您将看到一条注释,指示可以在
input\u filter
键中为元素添加输入过滤器规范。谢谢。这确实有帮助。