Php 验证Zend Framework2中的集合
人们。。 我的问题是: 我有一个表单,包含一个集合,因此,我为该集合设置了CollectionInputFilter 如果我发送两个字段块(集合)进行验证,并且验证了其中一个块的一个字段,则另一个块中的同一字段也会自动验证,即使该字段错误或未填充。。 我不知道该怎么办。。我试过很多窍门。。但是,没有一个起作用 有人能帮我吗?还是面临同样的问题 这是我的代码:Php 验证Zend Framework2中的集合,php,validation,collections,zend-framework2,Php,Validation,Collections,Zend Framework2,人们。。 我的问题是: 我有一个表单,包含一个集合,因此,我为该集合设置了CollectionInputFilter 如果我发送两个字段块(集合)进行验证,并且验证了其中一个块的一个字段,则另一个块中的同一字段也会自动验证,即使该字段错误或未填充。。 我不知道该怎么办。。我试过很多窍门。。但是,没有一个起作用 有人能帮我吗?还是面临同样的问题 这是我的代码: class ClienteEnderecoFilter extends CollectionInputFilter { public f
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上的又一个垃圾答案,我太累了,弄不懂你的意思。我已经取消了否决票。