Zend framework2 zend framework 2中的验证

Zend framework2 zend framework 2中的验证,zend-framework2,zend-form,Zend Framework2,Zend Form,我已经在zend framework 2中为表单定义了字段集 $this->add ( array ( 'name' => 'unitnumber', 'options' => array ( 'label' => 'Unit Number:' ) ) ); $this->add ( array ( 'name'

我已经在zend framework 2中为表单定义了字段集

$this->add ( array (
            'name' => 'unitnumber',
            'options' => array (
                    'label' => 'Unit Number:'
            )
    ) );

    $this->add ( array (
            'name' => 'streetdirprefix',
            'options' => array (
                    'label' => 'Street Direction Prefix:'
            )
    ) );

    $this->add ( array (
            'name' => 'streetnumber',
            'options' => array (
                    'label' => 'Street Number:'
            )
    ) );
我只想为unitnumber设置必填字段。不适用于其他领域

我写了一个函数

public function getInputFilterSpecification()
{
    return array (
        'name' => array(
            'required' => true,
        )
    );
}
但是,它要求填充所有字段。有人能帮我吗。谢谢

$inputFilter->add(array(
            'name'     => 'artist',
            'required' => true,
            'filters'  => array(
                array('name' => 'StripTags'),
                array('name' => 'StringTrim'),
            ),
            'validators' => array(
                array(
                    'name'    => 'StringLength',
                    'options' => array(
                        'encoding' => 'UTF-8',
                        'min'      => 1,
                        'max'      => 100,
                    ),
                ),
            ),
        ));
参考资料

在Zend 2中,“InputFilter”更像是在“strict”模式下工作

i、 e.它要求您指定InputFilter中提到的元素的“required”值是TRUE还是FALSE

$this->add ( array (
        'name' => 'unitnumber',
        'required' => true,                   //Code Added
        'options' => array (
                'label' => 'Unit Number:'
        )
));

$this->add ( array (
        'name' => 'streetdirprefix',
        'required' => false,                   //Code Added
        'options' => array (
                'label' => 'Street Direction Prefix:'
        )
));

$this->add ( array (
        'name' => 'streetnumber',
        'required' => false,                   //Code Added
        'options' => array (
                'label' => 'Street Number:'
        )
));

您需要为每个元素提供一个InputFilter。即使该元素的InputFilter是空数组!在您的情况下,明确说明它不是必需的,并且您将
允许\u empty
值您可以使用上述代码给我举个例子吗?我的意思是如何写它。name=>[required:true],streetnumber=>[required:false,allow_empty:true],streetbla=>[required:false,allow_empty:true]