Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证Zend Framework2中的集合_Php_Validation_Collections_Zend Framework2 - Fatal编程技术网

Php 验证Zend Framework2中的集合

Php 验证Zend Framework2中的集合,php,validation,collections,zend-framework2,Php,Validation,Collections,Zend Framework2,人们。。 我的问题是: 我有一个表单,包含一个集合,因此,我为该集合设置了CollectionInputFilter 如果我发送两个字段块(集合)进行验证,并且验证了其中一个块的一个字段,则另一个块中的同一字段也会自动验证,即使该字段错误或未填充。。 我不知道该怎么办。。我试过很多窍门。。但是,没有一个起作用 有人能帮我吗?还是面临同样的问题 这是我的代码: class ClienteEnderecoFilter extends CollectionInputFilter { public f

人们。。 我的问题是:

我有一个表单,包含一个集合,因此,我为该集合设置了CollectionInputFilter

如果我发送两个字段块(集合)进行验证,并且验证了其中一个块的一个字段,则另一个块中的同一字段也会自动验证,即使该字段错误或未填充。。 我不知道该怎么办。。我试过很多窍门。。但是,没有一个起作用

有人能帮我吗?还是面临同样的问题

这是我的代码:

class ClienteEnderecoFilter extends CollectionInputFilter
{
 public function __construct()
    {
$this->add(array(
            'name' => 'fieldOne',
            'required' => true,
            ));

}
}

如果我发送两个字段,一个字段已填充,另一个字段也已验证

我认为您需要将每个集合项的输入筛选器设置为
CollectionInputFilter
,而不是扩展它。像这样:

use Zend\InputFilter\InputFilter;

class ClienteEnderecoFilter extends InputFilter
{
    public function __construct()
    {
        $this->add(array(
            'name' => 'fieldOne',
            'required' => true,
        ));

    }
}

$collectionInputFilter = new CollectionInputFilter();
$collectionInputFilter->setInputFilter(new ClienteEnderecoFilter());

这显然不起作用,因为
clientenderecofilter
没有
add()
方法。显然,您必须从
InputFilter
扩展,但我在回答中忘了提到这一点。如果我太粗鲁,我很抱歉。我当时非常厌倦zend框架,在寻找相关答案时,我偶然发现了这一点。它看起来像是zf2上的又一个垃圾答案,我太累了,弄不懂你的意思。我已经取消了否决票。